微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 如何自定义AppCompat材质按钮样式?

我正在使用AppCompat主题,我想在我的按钮上设置minHeight属性
<style name="Theme.MyTheme" parent="Theme.AppCompat">
    <item name="android:buttonStyle">@style/MyButtonStyle</item>
</style>

<style name="MyButtonStyle" parent="...?">
    <item name="android:minHeight">60dp</item>
</style>

但是,没有将Widget.AppCompat.Button样式设置为MyButtonStyle的父级.如果我使用android:Widget.Button,那么我所有的按钮看起来像旧的肮脏风格.我尝试过各种其他AppCompat主题,如TextAppearance.AppCompat.Button,但它们不起作用.

为按钮样式留下父主题也会导致按钮的样式不正确.

如何自定义认的Theme.AppCompat buttonStyle?

解决方法

您可以在API 14(在res / values-v14 / styles.xml)中使用Base.MyButtonStyle扩展android:Widget.Holo.Button和在API 21上的android:Widget.Material.Button(在res / values-v21 / styles中). xml.这种风格会根据设备系统版本而改变.

然后让MyButtonStyle扩展Base.MyButtonStyle并在这里定义android:minHeight(在res / values / styles.xml中).这将适用于所有平台.

你的按钮然后可以使用样式MyButtonStyle.

此示例假定您的最小SDK为14.

是的,没有appcompat-v7按钮样式(至少还没有).

编辑

这可以假定您在“棒棒糖”之前的平台上使用全息按钮.感觉不引人注目,如果你能做到没有波纹,那应该很好.如果你想要涟漪我建议你谷歌的第三方棒棒糖按钮库.

原文地址:https://www.jb51.cc/android/313356.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐