我想在选择器state_pressed时增加按钮的textSize,并为其他状态增加正常大小。
请帮助知道如何使用state_pressed的样式?我没有在选择器中找到任何选项。
现在我只是用选择器改变背景颜色,让我知道如果我们可以在选择器中使用样式,可以通过样式改变textSize。
// fragment's xml
<Button
android:id="@+id/btn_level3"
android:text="@string/level3"
android:textColor="#99CC00"
style="@style/ButtonNormal"
android:background="@drawable/button_custom"/>
-----------------------------------------------------------
// styles.xml
<style name="ButtonPressed">
<item name="android:textSize">@dimen/button_pressed</item>
</style>
-----------------------------------------------------------
// buttom_custom.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/color_highlight" />
<item android:state_focused="true" android:drawable="@android:color/transparent" />
<item android:drawable="@android:color/transparent" />
</selector>
答案 0 :(得分:0)
您可以使用Button上的setOnTouchListener方法设置按钮宽度和高度。请参阅此Problem changing button size when pressed in Android。
答案 1 :(得分:0)
ya mahdi aj - 在drawable中创建btn.xml然后粘贴:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="oval">
<solid android:color="@color/formbtn"/>
<stroke android:width="10dp" android:color="@color/transparent" />
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="oval">
<solid android:color="@color/formbtnborder"/>
<stroke android:width="10dp" android:color="@color/transparent" />
</shape>
</item>
</selector>