安卓checkbox复选框_Android 自定义背景弹出框

Android (2) 2024-06-20 10:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
安卓checkbox复选框_Android 自定义背景弹出框,希望能够帮助你!!!。

2019独角兽企业重金招聘Python工程师标准>>> 安卓checkbox复选框_Android 自定义背景弹出框_https://bianchenghao6.com/blog_Android_第1张

在使用Android的Preference,有时为了让我们的界面更加美观,我们会自定义自己的Preference。今天就主要说一下怎样自定义CheckBoxPreference的CheckBox按钮。

系统默认CheckBoxPreference的CheckBox样式

安卓checkbox复选框_Android 自定义背景弹出框_https://bianchenghao6.com/blog_Android_第2张

自定义后的CheckBox样式

安卓checkbox复选框_Android 自定义背景弹出框_https://bianchenghao6.com/blog_Android_第3张

其实,关键的一步就是指定CheckBoxPreference的android:widgetLayout属性,详细步骤就不说了,下面直接上代码,很简单的。

1./res/xml/my_preference.xml

 <?xml version="1.0" encoding="utf-8"?>   <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >          <CheckBoxPreference           android:key="cbp"           android:summaryOff="Off"           android:summaryOn="On"           android:title="CheckBoxPreference"           android:widgetLayout="@layout/my_checkbox" />      </PreferenceScreen>

2./res/layout/my_checkbox.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:button="@drawable/checkbox_checked_style"       android:clickable="false"       android:focusable="false" />

3./res/drawable/checkbox_checked_style.xml

<?xml version="1.0" encoding="utf-8"?>   <selector xmlns:android="http://schemas.android.com/apk/res/android">          <item android:drawable="@drawable/icon_checkbox_unchecked" android:state_checked="false"/>       <item android:drawable="@drawable/icon_checkbox_checked" android:state_checked="true"/>      </selector>

4.MainActivity.java注意要继承PreferenceActivity

public class MainActivity extends PreferenceActivity {          @Override       public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);           addPreferencesFromResource(R.xml.my_preference);       }          @Override       public boolean onCreateOptionsMenu(Menu menu) {           getMenuInflater().inflate(R.menu.activity_main, menu);           return true;       }          }

 

转载于:https://my.oschina.net/u//blog/

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复