Android控件系列之Shape使用方法_Android

 如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape、gradient、stroke、corners等。

复制代码 代码如下:

  我们就以目前系统的Button的selector为例说下:
  
  <  android:startColor="#ff8c00"
  android:endColor="#FFFFFF"
  android:angle="270" />
  <  android:width="2dp"
  android:color="#dcdcdc" />
  <  android:radius="2dp" />
  <  android:left="10dp"
  android:top="10dp"
  android:right="10dp"
  android:bottom="10dp" />
 
 
  对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,endColor为渐变结束的颜色,下面的angle是角度。接下来是stroke可以理解为边缘,corners为拐角这里radius属性为半径,最后是相对位置属性padding。
  对于一个Button完整的定义可以为

复制代码 代码如下:

  
    <xmlns:android="http://schemas.android.com/apk/res/Android">
  
    <android:startColor="#ff8c00"
  android:endColor="#FFFFFF"
  android:angle="270" />
    <android:width="2dp"
  android:color="#dcdcdc" />
    <android:radius="2dp" />
    <android:left="10dp"
  android:top="10dp"
  android:right="10dp"
  android:bottom="10dp" />

    <android:startColor="#ffc2b7"
  android:endColor="#ffc2b7"
  android:angle="270" />
    <android:width="2dp"
  android:color="#dcdcdc" />
    <android:radius="2dp" />
    <android:left="10dp"
  android:top="10dp"
  android:right="10dp"
  android:bottom="10dp" />

    <android:startColor="#ff9d77"
  android:endColor="#ff9d77"
  android:angle="270" />
    <android:width="2dp"
  android:color="#fad3cf" />
    <android:radius="2dp" />
    <android:left="10dp"
  android:top="10dp"
  android:right="10dp"
  android:bottom="10dp" />

  
  
  提示,以上几个item的区别主要是体现在state_pressed按下或state_focused获得焦点时,当当来判断显示什么类型,而没有state_xxx属性的item可以看作是常规状态下。

时间: 2024-10-03 17:15:42

Android控件系列之Shape使用方法_Android的相关文章

Android控件系列之Shape使用方法

如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造.当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape.gradient.stroke.corners等.复制代码 代码如下: 我们就以目前系统的Button的selecto

Android控件系列之ImageView使用方法_Android

学习目的: 1.掌握在Android中如何插入图片 图片的加入可以立刻让您的程序增色不少,我们样例选用一张Android机器人(picture.jpg),您可以使用自己的任何图片进行试验 一般建议您程序中的图片加入资源,而不是放在SD卡中用流的方式去读取,毕竟嵌入的资源比较安全,不容易被篡改. 1.导入图片到资源 将图片拖拽到项目res\drawable开头的3个文件夹下,他们分别代表了高.中.低分辨度的图片.Android读取图片时自动优化,选用合适的一个图片显示,比如高分辨率可以存放128*

Android控件系列之CheckBox使用介绍_Android

学习目的: 1.掌握在Android中如何建立CheckBox 2.掌握CheckBox的常用属性 3.掌握CheckBox选中状态变换的事件(监听器) CheckBox简介: CheckBox和Button一样,也是一种古老的控件,它的优点在于,不用用户去填写具体的信息,只需轻轻点击,缺点在于只有"是"和"否"两种情况,但我们往往利用它的这个特性,来获取用户的一些信息. 如一个身份表单中,常常让用户填写"是否已经结婚",显然让用户去填写&quo

Android控件Chronometer定时器的实现方法_Android

Chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始.默认情况下它会显示在当前定时器的值的形式"分:秒"或"H:MM:SS的",或者可以使用的Set(字符串)格式的定时器值到一个任意字符串 1.重要属性 android:format:定义时间的格式如:hh:mm:ss 2.重要方法 setBase(long base):设置倒计时定时器 setFormat(String format)

Android控件系列之Toast使用介绍_Android

Toast英文含义是吐司,在Android中,它就像烘烤机里做好的吐司弹出来,并持续一小段时间后慢慢消失 Toast也是一个容器,可以包含各种View,并承载着它们显示. 使用场景: 1.需要提示用户,但又不需要用户点击"确定"或者"取消"按钮. 2.不影响现有Activity运行的简单提示. 用法: 1.可以通过构造函数初始化: 复制代码 代码如下: //初始化Toast Toast toast = new Toast(this); //设置显示时间,可以选择To

Android控件系列之EditText使用方法

学习目的: 1.掌握在Android中如何建立EditText2.掌握EditText的常用属性3.掌握EditText焦点的事件.按键的事件(监听器) 介绍: EditText是接受用户输入信息的最重要控件.通过前面课程的学习,您可能会猜到可以利用EditText.getText()获取它的文本,但真正的项目中,可能没那么简单,需要更多的限制,如文本长度限制,是否数字限制等等. 鉴于手机屏幕尺寸有限,您可能总想着如何节约控件.在每个用户需要填写内容的文本框的左边加上标题在PC上是一种优雅的方法

Android控件之ToggleButton的使用方法_Android

ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本. 以下案例为ToggleButton的用法 目录结构 main.xml布局文件 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    androi

Android控件系列之TextView使用介绍_Android

学习目的: 1.了解在Android中如何使用TextView控件 2.掌握TextView控件重要属性 作用:TextView类似一般UI中的Label,TextBlock等控件,只是为了单纯的显示一行或多行文本 上图的XML布局如下: 复制代码 代码如下: <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_c

Android控件系列之ImageView使用方法

学习目的: 1.掌握在Android中如何插入图片 图片的加入可以立刻让您的程序增色不少,我们样例选用一张Android机器人(picture.jpg),您可以使用自己的任何图片进行试验 一般建议您程序中的图片加入资源,而不是放在SD卡中用流的方式去读取,毕竟嵌入的资源比较安全,不容易被篡改. 1.导入图片到资源 将图片拖拽到项目res\drawable开头的3个文件夹下,他们分别代表了高.中.低分辨度的图片.Android读取图片时自动优化,选用合适的一个图片显示,比如高分辨率可以存放128*