Android 按钮默认状态
Android Button default state
为什么 Button 的默认行为是 state_activated="false"?
使用这个选择器它永远不会到达最后一行,它停留在第二行:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" android:state_enabled="false"/>
<item android:drawable="@color/colorPrimaryDark" android:state_activated="false"/>
<item android:drawable="@color/colorAccent"/>
假设此选择器在按钮和一些作为按钮的布局之间共享,但在布局的情况下,需要 setActivated(false)
来更改背景。
您需要为激活和启用状态添加颜色。
像这样:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" android:state_enabled="false"/>
<item android:drawable="@color/some_color" android:state_enabled="true"/>
<item android:drawable="@color/colorPrimaryDark" android:state_activated="false"/>
<item android:drawable="@color/some_color" android:state_activated="true"/>
<item android:drawable="@color/colorAccent"/>
activated
的默认状态对于所有视图都是 false。理解原因的最简单方法是考虑 ViewPager 上的选项卡的情况。
activated
选项卡代表可见页面 - 同时激活多个选项卡没有意义。
我在 blog post 中提到,activated
对于不了解 Android 所用术语的人来说可以描述为 "selected"。
为什么 Button 的默认行为是 state_activated="false"?
使用这个选择器它永远不会到达最后一行,它停留在第二行:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" android:state_enabled="false"/>
<item android:drawable="@color/colorPrimaryDark" android:state_activated="false"/>
<item android:drawable="@color/colorAccent"/>
假设此选择器在按钮和一些作为按钮的布局之间共享,但在布局的情况下,需要 setActivated(false)
来更改背景。
您需要为激活和启用状态添加颜色。 像这样:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/colorPrimary" android:state_enabled="false"/>
<item android:drawable="@color/some_color" android:state_enabled="true"/>
<item android:drawable="@color/colorPrimaryDark" android:state_activated="false"/>
<item android:drawable="@color/some_color" android:state_activated="true"/>
<item android:drawable="@color/colorAccent"/>
activated
的默认状态对于所有视图都是 false。理解原因的最简单方法是考虑 ViewPager 上的选项卡的情况。
activated
选项卡代表可见页面 - 同时激活多个选项卡没有意义。
我在 blog post 中提到,activated
对于不了解 Android 所用术语的人来说可以描述为 "selected"。