当突出显示或按下按钮时,我想将按钮内的文本更改为粗体.我目前使用xml文件来定义按钮并使用XML来更改按下时的外观,但我想在不使用图像的情况下执行此操作.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/reset_hover" />
<item android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/reset_hover" />
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/reset_hover" />
<item android:drawable="@drawable/reset" />
</selector>
Run Code Online (Sandbox Code Playgroud)
我尝试使用类似下面的内容,但它似乎永远不会被调用.
final Button btn_reset = (Button) findViewById(R.id.btn_reset);
btn_reset.setOnClickListener(this);
btn_reset.setOn(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus){btn_reset.setTypeface(null, Typeface.BOLD);}
else{btn_reset.setTypeface(null, Typeface.NORMAL);}
}
});
Run Code Online (Sandbox Code Playgroud)
DEz*_*zra 36
您可以尝试将粗体代码放在按钮的click事件中:
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Set bold on click
button.setTypeface(null, Typeface.BOLD);
}
});
Run Code Online (Sandbox Code Playgroud)
您可以创建自己的style.xml,在其中定义文本样式.在您的选择器中,您可以参考样式.style.xml
<style name="myStyle">
<item name="android:textSize">9px</item>
<item name="android:gravity">center_horizontal</item>
<item name="android:textColor">#fff</item>
<item name="android:textStyle">bold</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在你的选择器
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
style="@style/myStyle" /> </selector>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39080 次 |
| 最近记录: |