使用appcompat的ImageButton背景颜色

时间:2016-08-29 17:31:13

标签: android android-appcompat

我有问题要从AppCompatImageButton获得良好的背景,只是为了尝试我比较这两个布局:

<style name="AppBaseTheme" parent="android:Theme.Material">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primaryDark</item>
    <item name="android:colorAccent">@color/accent</item>
</style>

和样式文件:

AppCompatImageButton

然而,从这张图片可以看出,ImageButton的背景是“正常的”,而appcompat中没有任何背景。如何使用{{1}}?

获得“正常”背景

Current layout rendering

2 个答案:

答案 0 :(得分:2)

设置Button样式的好方法是使用样式@style/Widget.AppCompat.Button.Colored

Widget.AppCompat.Button.Colored样式扩展了Widget.AppCompat.Button样式,并自动应用您在应用主题中选择的重音颜色。

<Button
    style="@style/Widget.AppCompat.Button.Colored"
 />

要自定义背景颜色而不更改主题中的强调色,您可以使用android:theme属性为{+ 1}}主题创建自定义主题并扩展ThemeOverlay主题。

 <Button  
     style="@style/Widget.AppCompat.Button.Colored"  
     android:theme="@style/MyButtonTheme"/> 

定义以下主题:

 <!-- res/values/themes.xml -->
  <style name="MyButtonTheme" parent="ThemeOverlay.AppCompat.Light"> 
      <item name="colorAccent">@color/my_color</item> 
 </style>

答案 1 :(得分:0)

我不确定您使用的是哪个版本的支持库,但是在此处报告的库中存在错误之前,

https://code.google.com/p/android/issues/detail?id=78428

但他们已在最新的更新中解决了这个问题,

  

是的,现在似乎可以通过引入来实现   AppCompat v22.1.0中的android.support.v7.widget.AppCompatButton,颜色   可以使用&#34; colorButtonNormal&#34;。

在整体主题级别进行控制      

http://android-developers.blogspot.com/2015/04/android-support-library-221.html   http://chris.banes.me/2015/04/22/support-libraries-v22-1-0/

主题

$followers = $db->prepare("SELECT *, COUNT(*) AS followers FROM follows WHERE follows.userId = ?");

版本21

<item name="colorButtonNormal">@color/button_color</item>

希望这会对你有所帮助。

由于