首页 > 移动平台 > 详细

[转]Android中自定义checkbox样式

时间:2015-10-05 20:44:14      阅读:252      评论:0      收藏:0      [点我收藏+]
 

 

1.首先在drawable文件夹中添加drawable文件checkbox_style.xml。

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">  
  3.   
  4.     <item android:drawable="@drawable/checkbox_pressed" android:state_checked="true"/>  
  5.     <item android:drawable="@drawable/checkbox_normal" android:state_checked="false"/>  
  6.     <item android:drawable="@drawable/checkbox_normal"/>  
  7.   
  8. </selector>  

2.在values文件夹下的styles.xml文件中添加CustomCheckboxTheme样式。

  1. <style name="CustomCheckboxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">  
  2.     <item name="android:button">@drawable/checkbox_style</item>  
  3. </style>  

3.在布局文件中使用CustomCheckboxTheme样式。

  1. <CheckBox  
  2.         android:id="@+id/select_all"  
  3.         android:layout_width="wrap_content"  
  4.         android:layout_height="wrap_content"  
  5.         style="@style/CustomCheckboxTheme" />  

使用到的图片资源

技术分享checkbox_normal.png

技术分享checkbox_pressed.png

 

 

 

 

 

 

 

Android 自定义CheckBoxPreference的CheckBox复选框

 

 

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

 

系统默认CheckBoxPreference的CheckBox样式

 

技术分享

 

自定义后的CheckBox样式

 

技术分享

 

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

 

1./res/xml/my_preference.xml

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.   
  4.     <CheckBoxPreference  
  5.         android:key="cbp"  
  6.         android:summaryOff="Off"  
  7.         android:summaryOn="On"  
  8.         android:title="CheckBoxPreference"  
  9.         android:widgetLayout="@layout/my_checkbox" />  
  10.   
  11. </PreferenceScreen>  

2./res/layout/my_checkbox.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <CheckBox xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:id="@+android:id/checkbox"  
  4.     android:layout_width="wrap_content"  
  5.     android:layout_height="wrap_content"  
  6.     android:button="@drawable/checkbox_checked_style"  
  7.     android:clickable="false"  
  8.     android:focusable="false" />  

3./res/drawable/checkbox_checked_style.xml

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

4.MainActivity.java注意要继承PreferenceActivity

    1. public class MainActivity extends PreferenceActivity {  
    2.   
    3.     @Override  
    4.     public void onCreate(Bundle savedInstanceState) {  
    5.         super.onCreate(savedInstanceState);  
    6.         addPreferencesFromResource(R.xml.my_preference);  
    7.     }  
    8.   
    9.     @Override  
    10.     public boolean onCreateOptionsMenu(Menu menu) {  
    11.         getMenuInflater().inflate(R.menu.activity_main, menu);  
    12.         return true;  
    13.     }  
    14.       

 

[转]Android中自定义checkbox样式

原文:http://www.cnblogs.com/ZhuRenWang/p/4856143.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!