Android按钮在单击时丢失了自定义背景

Android按钮在单击时丢失了自定义背景,android,Android,我有一个自定义的背景上定义的绘图文件夹,基本上使一个圆形的形状 我面临的问题是,当我点击按钮时,按钮“丢失”了自定义背景,并获得了Android的默认背景 我尝试过创建一个选择器,并添加那些以状态为焦点的项目,等等,但没有任何效果 有没有一种简单的方法可以避免Android在点击按钮时改变按钮的背景 这是单击前的我的按钮: 这是单击后的我的按钮: 以下是带有按钮代码的axml: <Button android:id="@+id/lockDeviceButton"

我有一个自定义的背景上定义的绘图文件夹,基本上使一个圆形的形状

我面临的问题是,当我点击按钮时,按钮“丢失”了自定义背景,并获得了Android的默认背景

我尝试过创建一个选择器,并添加那些以状态为焦点的项目,等等,但没有任何效果

有没有一种简单的方法可以避免Android在点击按钮时改变按钮的背景

这是单击前的我的按钮:

这是单击后的我的按钮:

以下是带有按钮代码的axml:

<Button
   android:id="@+id/lockDeviceButton"
   android:text="@string/lockThisDevice"                                
   android:textColor="@android:color/white"
   android:background="@drawable/button_rounded_green"
   android:drawableLeft="@drawable/icon_lock"
/>

以下是圆形布局:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
  <corners android:radius="24dp" />
  <solid android:color="#03ae50" />
</shape>

以下是我到目前为止为各州保持相同背景所做的努力:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <!--  Non focused states 
      -->
  <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/rounded_corners" />
  <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/rounded_corners" />
  <!--  Focused states 
      -->
  <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/rounded_corners" />
  <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/rounded_corners" />
  <!--  Pressed 
      -->
  <item android:state_pressed="true" android:drawable="@drawable/rounded_corners" />
</selector>

在进一步调查后,我发现了问题,与设计本身无关。这是一个隐藏的代码,覆盖了一个特定情况下按钮的背景


我对代码进行了重构,使其变得更干净,现在一切都很好。

经过进一步调查,我发现了问题所在,与设计本身无关。这是一个隐藏的代码,覆盖了一个特定情况下按钮的背景


我对代码进行了重构,使其变得更干净,现在一切正常。

android不会自行更改按钮的背景色。你确定你没有在
onClickListener
块中执行此操作吗?@MehranB经过进一步调查,我发现了这个问题。代码中有一个“隐藏”命令正在覆盖背景。谢谢,不用担心,兄弟。安卓不会自行改变按钮的背景色。你确定你没有在
onClickListener
块中执行此操作吗?@MehranB经过进一步调查,我发现了这个问题。代码中有一个“隐藏”命令正在覆盖背景。谢谢你,不用担心,兄弟。