ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

android – 如何使用最新的AppCompat着色Button

2019-07-15 08:26:19  阅读:408  来源: 互联网

标签:android android-button appcompat appcompat-v7-r23


我需要知道使用最新的AppCompat(暂时为23.2.1)对材质按钮(AppCompatButton)进行着色的最佳(和推荐)方法是什么.我原本无法想象它会如此令人沮丧!我尝试了here的大部分答案,但要么它们不起作用,要么与意外结果一起工作.

我需要保持向后兼容api> = 9并且只需要将涟漪效应应用于> = 21没什么特别的.那么到目前为止最好的方法是什么?

如果你能同时提供xml和java代码,我将不胜感激.

解决方法:

有很多方法可以做到这一点.
我最喜欢的是以下内容:

<Button
 android:id="@+id/activity_main_some_button"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 style="@style/Widget.AppCompat.Button.Colored"
 android:text="This is a button" />  

这会自动为您的(在主题中)设置的强调色调着色按钮,同时保持API<的压缩状态.棒棒糖和波纹> =棒棒糖.

如果没有其他工作,你可以自己给按钮着色:

AppCompatButton myExampleButton = new AppCompatButton(getContext());

myExampleButton.setSupportBackgroundTintList(ContextCompat.getColorStateList(getContext(),
                                             R.color.some_color));

更新

您可以执行以下操作以使用自定义颜色:

<style name="MyButtonTheme" parent="Widget.AppCompat.Button.Colored">
    <item name="colorButtonNormal">@color/someColor</item>
</style>

使用所需颜色定义新样式.

<Button
 android:id="@+id/activity_main_some_button"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:theme="@style/MyButtonTheme"
 android:text="This is a button" />

将其设置为您的按钮.

标签:android,android-button,appcompat,appcompat-v7-r23
来源: https://codeday.me/bug/20190715/1465756.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有