详细介绍使用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文件

实例代码

<?xml version=1.0 encoding=utf-8?>  
<shape xmlns:android=http://schemas.android.com/apk/res/android >  
  
    <corners android:radius=5dp />  
  
    <size  
        android:height=30dp  
        android:width=20dp />  
  
    <gradient   
        android:startColor=#9933cc  
        android:endColor=#aa66cc  
        android:angle=90  
        />  
      
    <padding android:left=5dp  
        android:right=5dp  
        android:top=5dp  
        android:bottom=5dp/>  
  
</shape>  
<?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 下内边距:

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念