美文网首页思科DevNet
每日一记:Button一些属性设置

每日一记:Button一些属性设置

作者: 郑鸿翊 | 来源:发表于2015-09-16 23:32 被阅读2545次

    1. Button属性设置
    系统提供的Button都是一成不变的样子

    系统提供的Button.png
    方方正正,浅灰色的背景,好low。
    • Seletor可以为Button提供了在各种状态下显示不同图片或者颜色的选项。想为Button增加点击效果的好选择。

      1. 在res/drawable下创建一个Drawable Resource File,这是一个XML文件
      2. 根元素
        <seletor xmlns:android="http://schemas.android.com/apk/res/android">
        </seletor>
      3. 子元素
        <item></item>
      • 子元素的属性
        • android:drawable 这个属性用来控制该item显示的drawable资源
        • android:state_xxxxx 这个属性用来控制item将在什么情况下显示drawable资源
          其中的xxxxx是泛指许多情况,常用的情况有
          • android:state_focused
          • android:state_selected
          • android:state_pressed
        • 不指定android:state_xxxxx属性的item则是默认项,找不到指定情况下使用的item就是用默认项,注意了,默认项item要写在其他所有item的后面,这个已经坑过我很多次了
      1. 例子 btn_back.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="@drawable/back_press" />
        <item android:drawable="@drawable/back" />
        </selector>

      Button中将该btn_back.xml设置为background属性即可

      默认展示
      点击时也就是状态为state_pressed
      可以明显地看到Button的点击效果,虽说这个效果也是可以直接通过java代码实现,可写在XML文件当然方便多了。
    • shape可以为Button提供了修改形状的选项

      1. 在res/drawable下创建一个Drawable Resource File,这是一个XML文件
      2. 根元素
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
        </shape>
      3. 子元素
      • <solid/>-填充颜色
        • ```android:color`` 设置填充的颜色
      • <corners/>-圆角 下列属性来设置圆角的参数
        • android:radius四个角的弧度半径
        • android:bottomLeftRadius左下角的弧度半径
        • android:bottomRightRadius右下角的弧度半径
        • android:topLeftRadius左上角的弧度半径
        • android:topRightRadius右上角的弧度半径
      • <gradient/>-渐变 不常用不详述属性
      • <padding/>-内容离边界距离
        • android:top距离上边界的距离
        • android:bottom距离下边界的距离
        • android:left距离左边界的距离
        • android:right距离右边界的距离
      • <size/>-大小 可在这里设置控件宽度
      • <stroke/>-描边
        • android:color 设置描边的颜色
        • android:width 设置描边的宽度
        • android:dashGap 设置小段实线之间的距离
        • android:dashWidth 设置一小段实线的宽度

      4.例子 btn_shape.xml
      <?xml version="1.0" encoding="utf-8"?>
      <shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">

      <solid android:color="#00ee00"/>
      </shape>

      填充的效果
      <?xml version="1.0" encoding="utf-8"?>
      <shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">

      <gradient android:startColor="#ff8c00"
      android:endColor="#FFFFFF"
      android:angle="270" />

      <stroke android:width="2dp"
      android:color="#dcdcdc" />

      <corners android:bottomLeftRadius="36dp"
      android:topRightRadius="8dp"/>

      <padding android:left="10dp"
      android:top="10dp"
      android:right="10dp"
      android:bottom="10dp" />
      </shape>
      综合效果
      Button中将该btn_shape.xml设置为background属性即可

    相关文章

      网友评论

        本文标题:每日一记:Button一些属性设置

        本文链接:https://www.haomeiwen.com/subject/dmrbcttx.html