使用XML资源文件来定义颜色,样式等

1、使用XML资源文件来定义颜色

该方法扩展性好,便于修改和共享,如在values目录下创建一个color.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <color name="mycolor">#ffb52121</color> 

</resources>

定义了一个名为mycolor的颜色,在别的地方就可以通过引用mycolor来获取该颜色值,如

textView定义中:Android:textColor="@drawable/mycolor"

2、使用XML资源文件来定义样式

在res/drawable中定义一个shape.xml文件

实例代码:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.   
  4.     <corners android:radius="5dp" />  
  5.   
  6.     <size  
  7.         android:height="30dp"  
  8.         android:width="20dp" />  
  9.   
  10.     <gradient   
  11.         android:startColor="#9933cc"  
  12.         android:endColor="#aa66cc"  
  13.         android:angle="90"  
  14.         />  
  15.       
  16.     <padding android:left="5dp"  
  17.         android:right="5dp"  
  18.         android:top="5dp"  
  19.         android:bottom="5dp"/>  
  20.   
  21. </shape>  
  22. <?xml version="1.0" encoding="UTF-8"?>

    <shape xmlns:android="http://schemas.android.com/apk/res/android"

        android:shape="rectangle" >

     

        <!-- 填充的颜色:这里设置背景透明 -->

        <solid android:color="@android:color/transparent" />

        <!-- 边框的颜色 :不能和窗口背景色一样-->

        <stroke

            android:width="3dp"

            android:color="#ffffff" />

        <!-- 设置按钮的四个角为弧形 -->

        <!-- android:radius 弧形的半径 -->

        <corners android:radius="5dip" />

     

        <!-- padding:Button里面的文字与Button边界的间隔 -->

        <padding

            android:bottom="10dp"

            android:left="10dp"

            android:right="10dp"

            android:top="10dp" />

    </shape>

    在你的Activity的xml(比如activity_main.xml)中定义按钮

    <Button

        android:id="@+id/roundButton"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:background="@drawable/shape"

        android:text=" 圆角按钮 " />


 

Shape的属性:

  •  solid

       描述:内部填充

       属性:android:color 填充颜色

 

  •   size

       描述:大小

       属性:

                 android:width 宽

                 android:height 高

  •  gradient

        描述:渐变色

        属性:

                   android:startColor渐变起始颜色

                   android:endColor渐变结束颜色

                   android:centerColor渐变中间颜色

                   android:angle 渐变的角度,angle=0时,渐变色是从左向右,然后逆时针方向转;当angle=90时,渐变色从上往下。angle必然是45的倍数

                   android:type 渐变类型:linear(线性)、radial(放射性,以开始色为中心)、sweep(扫描线式渐变)

                   android:userLevel如果要使用LevelListDrawable对象,就要设置为true。设置true无渐变色,false有渐变色

                   android:grdientRadial渐变半径,只有设置type为radial时,此值才生效

                   android:centerX 渐变中心X点坐标的相对位置

                   android:centerY 渐变中心Y点坐标的相对位置 

  • stroke

        描述:描边

        属性: 

                   android:width 描边宽度

                   android:color 描边颜色

                   android:dashwidth描边样式为虚线时的宽度,值为0时为实线,值大于0时为虚线

                   android:dashGap 描边为虚线时,虚线之间的间隔

 

  • corners

        描述:圆角

        属性:

                   android:radius 四个角半径值

                   android:topLeftRadius左上角半径值

                   android:topRightRadius右上角半径值

                   android:bottomLeftRadius右下角半径值

                   android:bottomRightRadius左下角半径值

 

  • padding

        描述:内边距

        属性:

                   android:left 左内边距

                   android:right 右内边距

                   android:top 上内边距

                   android:bottom 下内边距:

猜你喜欢

转载自ch-kexin.iteye.com/blog/2283752