Android自定义控件(一)

原创 2013年12月02日 23:00:06

Android自定义控件(一)

一、自定义Button

①、定义button的选择器(一般放置于drawable文件夹下)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 获得焦点但未按下时的背景图片 -->
    <item android:drawable="@drawable/title_bar_btn_normal" android:state_enabled="true" android:state_focused="true" android:state_pressed="false"/>
    <!-- 按下时的背景图片 -->
    <item android:drawable="@drawable/title_bar_btn_pressed" android:state_enabled="true" android:state_pressed="true"/>
    <!-- 默认时的背景图片 -->
    <item android:drawable="@drawable/title_bar_btn_normal"/>

</selector>

②、在xml中引用,直接设置为背景即可

  <Button
        android:id="@+id/btn_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="24dip"
        android:background="@drawable/private_comm_backbtn_selector" />

注:Button定义后,无法保留Button按下时的背景图片(解决方式:在Button被点击后,动态的为Button设置背景即可)


二、自定义CheckBox

①、定义CheckBox选择器(一般放置于drawable文件夹下)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/private_comm_check_box_pressed" android:state_checked="true"/><!--选中时效果-->
    <item android:drawable="@drawable/private_comm_check_box_normal" android:state_checked="false"/><!--未选中时效果-->
    <item android:drawable="@drawable/private_comm_check_box_normal"/>

</selector>

②、定义CheckBox的样式(res/values/styles.xml)

    <style name="private_comm_checkbox_style" parent="@android:style/Widget.CompoundButton.CheckBox">
        <item name="android:button">@drawable/private_comm_checkbox_selector</item>
    </style>

③、在layout布局中使用该样式即可

    <CheckBox
        android:id="@+id/btn_check"
        style="@style/private_comm_checkbox_style"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:clickable="false"
        android:focusable="false"
        android:focusableInTouchMode="false" />

注:CheckBox同Button位于listview的Item中时会自动的抢占焦点(可以用通过设置focusable="false"来解决,一般使用时可去掉最后三行代码)


 

 

 

 

相关文章推荐

Android 刮刮卡效果 自定义控件实现

  • 2017年11月17日 10:57
  • 4.67MB
  • 下载

Android 自定义控件玩转字体变色 打造炫酷ViewPager指示器

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/44098729,本文出自:【张鸿洋的博客】1、概述本篇博客的产生呢,是因为,群里的...

Android自定义控件

  • 2016年05月03日 11:36
  • 6.83MB
  • 下载

Android为自定义控件添加事件

1)文章简介 创建自定义控件并为它添加一个自定义事件 当用户单击自定义控件中的“测试”按钮时触发按钮自定义事件 2)定义一个layout(activity_custom.xml)作为自定义控件的...

Android自定义view——组合控件

  • 2017年08月04日 15:15
  • 20.22MB
  • 下载

Android自定义控件

  • 2017年08月08日 23:31
  • 20.37MB
  • 下载

介绍几个好用的android自定义控件

首先看效果图, 看下这两个界面,第一个中用到了一个自定义的FlowRadioGroup,支持复合子控件,自定义布局; 第二个界面中看到了输入的数字 自动4位分割了吧;也用到了自定义...

Android自定义控件

  • 2015年03月25日 15:32
  • 1.42MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android自定义控件(一)
举报原因:
原因补充:

(最多只允许输入30个字)