日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

自定義RadioButton&CheckBox樣式的實現

系統 2435 0
http://hi.baidu.com/ljlkings/blog/item/a7945124de875c038a82a1b4.html

Android 自定義RadioButton的樣式

我們知道Android控件里的button,listview可以用xml的樣式自定義成自己希望的漂亮樣式。
  最近用到RadioButton,利用xml修改android:background="@drawable/button_drawable",其中button_drawable為自己定義的.xml文件(res/drawable文件下),但是不成功,到網上查找,也沒有正確的說法,我就開始自己嘗試,最后做好了。
  其實方法很簡單,同樣在res/drawable新建radiobutton.xml如下
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
       <item
            android:state_enabled="true"
             android:state_checked="true"
            android:drawable="@drawable/check" />
       <item
             android:state_enabled="true"
             android:state_checked="false"
             android:drawable="@drawable/checknull" />
   </selector>
  

  1 check和checknull分別為選中和位選中的圖片。
  1 然后在你的布局文件中,RadioButton 布局
  1 設置android:button = "@drawable/radiobutton",就可以了!
  前后圖片對比如下:

自定義RadioButton&CheckBox樣式的實現


RadioButton修改樣式
    
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="CustomTheme" parent="android:Theme"> 
   <item name="android:radioButtonStyle">@style/RadioButton</item> 
</style> 
<style name="RadioButton" parent="@android:style/Widget.CompoundButton.RadioButton"> 
   <item name="android:button">@drawable/radio</item> 
</style> 
</resources> 

  

    
<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:state_window_focused="false" 
        android:drawable="@drawable/radio_hover" /> 
    <item android:state_checked="false" android:state_window_focused="false" 
        android:drawable="@drawable/radio_normal" /> 
    <item android:state_checked="true" android:state_pressed="true" 
        android:drawable="@drawable/radio_active" /> 
    <item android:state_checked="false" android:state_pressed="true" 
        android:drawable="@drawable/radio_active" /> 
    <item android:state_checked="true" android:state_focused="true" 
        android:drawable="@drawable/radio_hover" /> 
    <item android:state_checked="false" android:state_focused="true" 
        android:drawable="@drawable/radio_normal_off" /> 
    <item android:state_checked="false" android:drawable="@drawable/radio_normal" /> 
    <item android:state_checked="true" android:drawable="@drawable/radio_hover" /> 
    </selector> 


  


Android 自定義CheckBox 樣式
http://www.pocketdigi.com/20110623/347.html
1,新建Android XML文件,類型選Drawable,根結點選selector,在這定義具體的樣式。
    
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:state_checked="true" android:state_pressed="true"
		android:drawable="@drawable/focused" />
	<item android:state_checked="false" android:state_pressed="true"
		android:drawable="@drawable/normal" />
	<item android:state_checked="false" android:drawable="@drawable/normal" />
	<item android:state_checked="true" android:drawable="@drawable/focused" />
</selector>

  

2,應用到Checkbox與Button不同,并不是設置Background屬性,而是設置style屬性,所以我們要寫一個style。
在style.xml寫一個style,
    <style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/checkbox</item>
</style>
  

3,應用到Checkbox:
    
<CheckBox android:layout_width="wrap_content" 
android:layout_height="wrap_content"
style="@style/MyCheckBox"
/>

  



新浪搜索界面 用到 自定義RadioButton
http://www.eoeandroid.com/thread-53703-1-1.html

風格化的 Toggle Buttons
http://blog.csdn.net/billpig/article/details/6634481

事實上,可以使用ToggleButton來模仿CheckBox:
    
<ToggleButton android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/bg_toggle"/>

  

bg_toggle.xml:
    
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/toggle_me_on" /> 
    <item android:drawable="@drawable/toggle_me_off" />
</selector>

  


讓CheckBox的選擇框顯示在右邊



只要注意android:button和android:drawableRight就行了:
    
<style name="style_checkbox">
        <item name="android:layout_width">wrap_content</item>
		<item name="android:layout_height">wrap_content</item>
		<item name="android:paddingRight">25dp</item>
		<item name="android:paddingTop">5dp</item>
		<item name="android:paddingBottom">5dp</item>
		<item name="android:textColor">@color/white</item>
		<item name="android:textSize">@dimen/font_middle</item>
		<item name="android:textStyle">italic</item>
		<item name="android:singleLine">true</item>
		<item name="android:button">@null</item>
		<item name="android:drawableRight">@drawable/mycheckbox</item>
		<item name="android:drawablePadding">5dp</item>
		<item name="android:background">@android:color/transparent</item>
    </style>

  



自定義RadioButton&CheckBox樣式的實現

自定義RadioButton&CheckBox樣式的實現


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 五寨县| 肇东市| 阆中市| 丹棱县| 民和| 昂仁县| 灵武市| 宜兰市| 拜城县| 中西区| 师宗县| 惠来县| 台北市| 建宁县| 太白县| 枣庄市| 玛曲县| 怀来县| 唐河县| 邮箱| 垣曲县| 海阳市| 清新县| 昆明市| 台北市| 玉树县| 巩留县| 朝阳市| 盖州市| 时尚| 玉屏| 芮城县| 哈巴河县| 白银市| 马关县| 台前县| 长宁区| 延边| 邻水| 蒙山县| 读书|