按钮button与xml中selector选择器的使用

Button继承自TextView,所以TextView的一些属性同样也适用于Button控件。

  Button的直接子类为CompoundButton。Button的间接子类有CheckButton、RadioButton、Switch和ToggleButton。

Button常用属性设置

1.1设置Button的背景颜色

  要设置Button按钮的背景颜色,可以通过在xml文件中设置android:background属性实现,同样也可以通过在代码中使用setBackgroundColor()方法来实现。

1.2设置Button的文字颜色

  要设置Button按钮的文字颜色,可以通过在xml文件中设置android:textColor属性实现,同样也可以通过在代码中使用setTextColor()方法来实现。

1.3设置Button的文字格式

  要设置Button按钮的文字格式,可以通过在xml文件中设置android:textStyle属性实现。其中,参数italic表示斜体,参数bold表示粗体。

1.4设置Button的背景图片

  要设置Button按钮的背景图片,可以通过在xml文件中设置android:background属性实现,同样也可以通过在代码中使用setBackgroundResource()方法来实现。

 

2.Button事件监听器

  Button的常用事件监听器有以下一些:

  mButton.setOnClickListener();//点击事件监听器

  mButton.setOnTouchListener();//触摸事件监听器

  mButton.setOnFocusChangeListener();//焦点状态改变事件监听器

  mButton.setOnKeyListener();//按键事件监听器

  mButton.setOnLongClickListener();//常压事件监听器

   这些事件监听器可以用来响应对Button按钮的不同操作,使用方法比较简单,此处就不多介绍了。

3.Button按钮图文混排

3.1通过设置android:drawableTop等属性来实现

  在xml文件中,想要实现图片环绕文字的效果,可以通过设置以下四个属性来实现。

  android:drawableTop设置文字上方显示的图片

  android:drawableBottom设置文字下方显示的图片

  android:drawableLeft显示文字左边显示的图片

  android:drawableRight显示文字右边显示的图片

 <Button
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:drawableTop="@drawable/up"
     android:drawableBottom="@drawable/down"
     android:drawableLeft="@drawable/left"
     android:drawableRight="@drawable/right"
         android:text="OK"    >            
 </Button>

 

按下和非按下的时候按钮显示不同的背景

在drawable中新建一个selector标签的xml文件如下:

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

selector标签下的item标签 可以设置如下属性:
android:state_xxx 各种状态(值为true/false) 如果值为false的话,android:state_xxx可以省略
state_pressed 按钮按下的状态
android:drawable 该状态下对应显示的图片

布局中的引用:如果是不能点击的控件(如ImageView)需要设置clickable为true

 <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/but_selector"
        android:text="@string/hello_world" />

posted @ 2016-04-22 18:17  ts-android  阅读(7284)  评论(0编辑  收藏  举报