Android使用selector自定义按钮

可视化编辑器,alt+1到9键,切换到工具区,tab键,选择按钮,esc键,返回编辑
Android使用selector自定义按钮

以前定义按钮的时候,想使用自定义的Button总是习惯在activity中获取该按钮然后,重写该按钮的onTouchListener然后在当中切换按钮的背景图片。这样做不但使activity中的代码变得臃肿而且不能该按钮不能达到重用的目的。

后来接触到了Android 中的selector挺好用的,下面详细讲解一下如何使用selector,首先在res\drawable文件夹下创建一个xml文件如图:

再在drawable文件中添加你想应用在按钮上的图片,包括按下的图片和不按时的图片。

然后在该文件中添加:drawable

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
     <!--当按钮获得焦点时定义显示的图片-->
     <item           
        android:state_focused = "true"           
        android:drawable = "@drawable/image_btn_down"/>   
     <!--当按钮被选中时定义现实的图片 -->    
    <item           
        android:state_selected = "true"           
        android:drawable = "@drawable/image_btn_down"/>
    <!--当按钮被点击时定义显示的图片-->        
    <item           
        android:state_pressed = "true"           
        android:drawable = "@drawable/image_btn_down"/> 
    <!--默认按钮没有被选中时显示的图片-->           
    <item android:drawable = "@drawable/image_btn_up" />   
</selector>

该文件名字叫做button_selector.xml,完成之后,把你想应用的按钮的drawable属性改为@drawable/button_selector就可以了 如下:

<Button
                        android:id="@+id/button_add"
                        android:layout_width="115dp"
                        android:layout_height="wrap_content"
                        android:layout_margin="5px"
                        android:layout_weight="1"
                        android:background="@drawable/button_selector"
                        android:text="自定义按钮" />

开发微博推荐:   http://crh.chinacloudsites.cn/

时间: 2024-12-29 01:31:06

Android使用selector自定义按钮的相关文章

Android中实现自定义按钮

项目中有时候考虑到美观,需要自定义Button. 1.在项目的res文件夹中新建文件夹drawable并新建shapes.xml(实现button的外形和颜色的资源) 2.在mainactivity.xml的button属性中设置 android:background="@drawable/shapes"就可以了 圆角按钮.未点击和点击的颜色变化. 效果如下: shapes.xml <?xml version="1.0" encoding="utf-

android开发最常用例子整理----(1)自定义按钮实现

android开发最常用例子整理----(1)自定义按钮实现 一.Activity MainActivity.java源码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

Android自定义按钮实现长按功能

通过自定义BUTTON,写一个LongTouchBtn类,在按下的时候执行onTouchEvent事件,通过这个事件使用回调函数来实现长按功能! XML: <huahua.btnlongtouch.LongTouchBtn android:id="@+id/btn2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text=&q

android shape和selector共用按钮样式

项目中要使按钮点击和默认有不同效果,又要使listview的按钮有圆角效果,需要同时在drawable文件夹里面使用shape和selector属性,样式如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawab

【Android UI】自定义带按钮的标题栏

自定义标题栏在很多的android app中很常见,可以说是一种很有用的UI设计方法.自 己也本着学习的态度,经过一番各种坑,终于实现了,现总结如下: 一:大致流程 1.      对指定的android activity设置自定义主题风格,其中自定义主题风格是关键 在android 4.0以上版本中如果使用Theme.Holo或者Theme.Light等,程序会 一直报错误-you cannot combine custom title with other feature titles 2.

浅谈android中的自定义封装易用的Dialog

好久没写android的博客,最近在做一个android的项目,里面用到我们经常用的一个控件就是对话框,大家都知道android自带的对话框是很丑的,android5.x之后除外.所以就出现了自定义view,自己定义美观的对话框.好我们就来自定义对话框. 整体思路:定义一个类然后去继承Dialog类,然后重写相应的构造器方法.大家都知道一般的对话框的创建过程都是来一个AlertDialog.Builder对象,然后使用一些set方法来设置标题内容以及设置一些自定义的view和点击的Button以

安卓日记——自定义按钮效果

安卓原生的按钮是多么丑,效果是多么单调,大家也是有目共睹的. 要做一个APP少不了使用按钮,一个好看的按钮少不了好看的效果和外表 这次主要跟大家讲讲如何用drawable的xml文件弄一些好看的自定义样式 首先是外表 在APP中四四方方,灰色底黑色字的按钮是很难看的,我们希望看到的是圆角,彩色,白字(根据你的个人审美也可以是其他样式). 首先是在layout里新建一个按钮 然后在drawable文件夹里新建一个drawable resource file 不妨起名为shape 加一个select

Android之用自定义的shape去实现shadow效果

直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <layer-list> <!-- 相当于p

IOS开发——UI进阶篇(十八)核心动画小例子,转盘(裁剪图片、自定义按钮、旋转)图片折叠、音量震动条、倒影、粒子效果

一.转盘(裁剪图片.自定义按钮.旋转) 1.裁剪图片 将一张大图片裁剪为多张 // CGImageCreateWithImageInRect:用来裁剪图片 // image:需要裁剪的图片 // rect:裁剪图片的尺寸,传递是像素 CGImageRef norImage = CGImageCreateWithImageInRect(norBigImage.CGImage, clipRect); 2.每次点击按钮立马变为选中状态,并且取消上次的按钮的选中状态 当然还要重写- (void)setH