Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';t使用材质组件库设置按钮的背景色_Android_Material Design_Android Styles_Material Components Android_Material Components - Fatal编程技术网

Android Can';t使用材质组件库设置按钮的背景色

Android Can';t使用材质组件库设置按钮的背景色,android,material-design,android-styles,material-components-android,material-components,Android,Material Design,Android Styles,Material Components Android,Material Components,我的代码: <Button android:id="@+id/button_one" style="@style/ButtonStyle" android:text="@string/button_one" /> 32便士 @可绘制/背景按钮文本颜色 @可绘制/背景按钮您的风格: <style name="ButtonStyle" parent="Widget.MaterialComponents.Button

我的代码:

<Button
     android:id="@+id/button_one"
     style="@style/ButtonStyle"
     android:text="@string/button_one" />


32便士
@可绘制/背景按钮文本颜色
@可绘制/背景按钮您的风格:

<style name="ButtonStyle" parent="Widget.MaterialComponents.Button.TextButton">
    <item name="android:textSize">32sp</item>
    <item name="android:textColor">@color/text_color</item>
    <item name="android:backgroundTint">@color/background_button</item>
    <item name="rippleColor">@android:color/transparent</item>
    <item name="cornerRadius">0dp</item>
</style>


颜色是我的

遇到了同样的问题,设置
app:backgroundTint=“@null”
对我来说很有效。请参见此处的完整解决方案:

将其添加到按钮视图中

app:backgroundTint="@null"

要解决此问题,请执行以下操作之一:

  • 以xml或编程方式添加
    app:backgroundTint=“@null”
    -
    btn.setBackgroundTintMode(空)
  • 将主题
    Theme.MaterialComponents.DayNight.NoActionBar
    更改为
    Theme.MaterialComponents.DayNight.NoActionBar.Bridge

这两种解决方案都很好

似乎是它们的问题。等待新版本。你可以在谷歌上提出一个问题。是的,其中一位撰稿人建议它已经修复,但我仍然无法让它工作。尝试使用
app:backgroundTint
属性和选择器,并使用style
style=“@style/Widget.MaterialComponents.Button.TextButton”
这对我不起作用。你在使用MaterialComponents主题吗?是的,我在使用“theme.MaterialComponents.Light.DarkActionBar”我在使用theme.MaterialComponents.DayNight.NoActionBar。你能告诉我你是否可以用这个主题吗?我用theme.MaterialComponents.DayNight.NoActionBar更改了我的主题。你可以试试这个=>这只是重复我的答案。如果这个解决方案对你有效,那么就把答案投上去,不要试图复制它。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@android:color/black" android:state_pressed="true" />
    <item android:color="@android:color/white" android:state_pressed="false" />
</selector>
<style name="ButtonStyle" parent="Widget.MaterialComponents.Button.TextButton">
    <item name="android:textSize">32sp</item>
    <item name="android:textColor">@color/text_color</item>
    <item name="android:backgroundTint">@color/background_button</item>
    <item name="rippleColor">@android:color/transparent</item>
    <item name="cornerRadius">0dp</item>
</style>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:color="@android:color/white" android:state_pressed="true" />
   <item android:color="@android:color/transparent" android:state_pressed="false"/>
</selector>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:color="@android:color/black" android:state_pressed="true" />
   <item android:color="@android:color/white" android:state_pressed="false" />
</selector>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:backgroundTint="@null"