【发布时间】:2020-09-15 20:56:54
【问题描述】:
我有一个按钮背景,如果状态被按下或不被按下,它就会改变drawable。我可以像下面这样更改文本颜色和背景,但我想更改文本大小。 .XML 端怎么办?
drawable/button_selector.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/toggle_pressed" android:state_selected="true" />
<item android:drawable="@drawable/toggle_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/toggle_unpressed" />
</selector>
res/color/src_text:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:state_selected="false" android:color="@color/blue2"/>
<item android:state_pressed="true" android:color="@color/color_concrete"/>
<item android:state_pressed="false" android:state_selected="true"
android:color="@color/color_concrete"/>
<item android:color="@color/blue2" />
</selector>
按钮:
<Button
android:id="@+id/playButton"
android:layout_width="200dp"
android:layout_height="70dp"
android:background="@drawable/button_selector"
android:onClick="@{(v)->mainViewModel.playButtonClick(v)}"
android:paddingStart="20dp"
android:paddingEnd="20dp"
android:text="@string/play"
android:textColor="@color/src_text"
android:textSize="40sp"
android:visibility="@{mainViewModel.observableVisibilityPlayButton ? v.VISIBLE : v.GONE}"/>
【问题讨论】:
-
我认为那里不可能直接实现。 Check this 看看如何使用动画选择器来做到这一点。
标签: android