Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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
Java 如何在Android选择器中更改DrawableLeft?_Java_Android_Xamarin - Fatal编程技术网

Java 如何在Android选择器中更改DrawableLeft?

Java 如何在Android选择器中更改DrawableLeft?,java,android,xamarin,Java,Android,Xamarin,如何使用选择器更改按钮的可绘制左侧图像 我正在使用下面的选择器文件和一个可绘制的形状XML。单击按钮时,图像不会更改 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable=

如何使用选择器更改按钮的可绘制左侧图像

我正在使用下面的选择器文件和一个可绘制的形状XML。单击按钮时,图像不会更改

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true"
          android:drawable="@drawable/toolbar_button_pressed"
          android:drawableLeft="@drawable/ic_selected" />
    <item android:state_pressed="true"
          android:drawable="@drawable/toolbar_button_pressed" 
          android:drawableLeft="@mipmap/ic_selected" />
    <item android:drawable="@drawable/toolbar_button_normal" />
</selector>

按工具栏按钮

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
       android:shape="rectangle" >
    <corners android:radius="10dp" />
    <solid android:color="@color/primary_dark" />
    <padding android:left="10dp"
             android:top="10dp"
             android:right="10dp"
             android:bottom="10dp" />
    <stroke  android:width="1dp"
             android:color="@color/divider" />
</shape>

布局按钮

<Button android:id="@+id/background_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn_background"
        android:drawableLeft="@drawable/ic_background"
        style="@style/ToolbarButton"
        android:drawablePadding="10dp"
        android:singleLine="true"
        android:layout_weight="1" />

我可以使用选择器解决这个问题:

<Button android:id="@+id/style_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/style_button_text"
        android:drawableLeft="@drawable/toolbar_drawable_left"
        style="@style/ToolbarButton"
        android:layout_weight="1" />

/res/drawable/toolbar\u drawable\u left.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true"
          android:drawable="@drawable/ic_about_highlight"/>
    <item android:state_pressed="true"
          android:drawable="@drawable/ic_about_highlight"/>
    <item android:drawable="@drawable/ic_about" />
</selector>