0
点赞
收藏
分享

微信扫一扫

使用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>

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

 

1. <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 下内边距:

举报

相关推荐

0 条评论