Dav*_*run 15 android android-manifest android-emulator
我无法自定义我的复选框,虽然我已在xml首选项文件中定义了背景,但它不会拉取文件.1.我试图显示复选框的自定义图像,并将选择器xml定义为"android_button.xml",如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checkable="true"
android:drawable="@drawable/state_normal" /> <!-- pressed -->
<item android:state_checked="true"
android:drawable="@drawable/android_pressed" /> <!-- focused -->
<item android:drawable="@drawable/state_normal" /> <!-- default -->
</selector>
Run Code Online (Sandbox Code Playgroud)
state_normal和android_pressed是res> drawable文件夹中的两个.png图像.
2.my Checkbox preference.xml文件是:
<CheckBoxPreference android:key="@string/Drop_Option"
android:title="Close after call drop"
android:defaultValue="true"
android:background="@drawable/android_button"
/>
Run Code Online (Sandbox Code Playgroud)
定义中是否有任何错误,屏幕上显示的唯一更改是android:title文本,如果我更改文本,则会更改文本.没有别的变化.我该如何解决.谢谢你的建议.
Kon*_*rov 43
有两种方法可以实现您的需求,首先是在res/layout中定义自定义复选框布局custom_chexbox.xml:
<?xml version="1.0" encoding="UTF-8"?>
<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+android:id/checkbox" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:focusable="false"
android:clickable="false" android:button="@drawable/android_button"/>
Run Code Online (Sandbox Code Playgroud)
然后,您需要为首选项指定此布局:
<CheckBoxPreference android:key="@string/Drop_Option"
android:title="Close after call drop" android:defaultValue="true"
android:widgetLayout="@layout/custom_checkbox"/>
Run Code Online (Sandbox Code Playgroud)
第二种方法是创建自定义主题,重新定义复选框视图的样式并将主题应用于首选项活动,请参阅如何在对话框中自定义android中CheckMark颜色的颜色.:android的详细信息.
| 归档时间: |
|
| 查看次数: |
22816 次 |
| 最近记录: |