我有一个这样的按钮:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello"
android:textColor="@color/primary"
android:background="@drawable/button"
/>
Run Code Online (Sandbox Code Playgroud)
可绘制的button.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:drawable="@drawable/button_disabled" />
<item android:drawable="@drawable/button_default" />
</selector>
Run Code Online (Sandbox Code Playgroud)
可绘制的button_disabled.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/white"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
我还想在禁用按钮时更改按钮的文本颜色.如何为每个州指定不同的文字颜色?
我的布局中有这个:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/primary"
android:paddingLeft="32dp"
android:paddingRight="32dp"
android:fitsSystemWindows="true">
...
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
但我的应用程序中没有paddingLeft或没有paddingRight.当我移除时fitsSystemWindows,填充物返回.为什么?我怎样才能保持fitsSystemWindows和填充?