Android中,默认的控件显示效果往往不太美观。

我们可以在drawable下建一个XML文件,里面放置shape标签以及其相关的属性。

例如,可以用这样的方式设置一个LinearLayout的边框、填充颜色、圆角效果等等。

先看下面的代码:

        <shape>            <!-- 实心 -->            <solid android:color="#ff9d77"/>            <!-- 渐变 -->            <gradient                android:startColor="#ff8c00"                android:endColor="#FFFFFF"                android:angle="270" />            <!-- 描边 -->            <stroke                android:width="2dp"                android:color="#dcdcdc" />            <!-- 圆角 -->            <corners                android:radius="2dp" />            <padding                android:left="10dp"                android:top="10dp"                android:right="10dp"                android:bottom="10dp" />        </shape>

solid:实心

就是填充的意思

android:color指定填充的颜色


gradient:渐变

android:startColor和android:endColor分别为起始和结束颜色,ndroid:angle是渐变角度,必须为45的整数倍。

另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。


stroke:描边

android:width="2dp" 描边的宽度,android:color 描边的颜色。

我们还可以把描边弄成虚线的形式,设置方式为:

android:dashWidth="5dp"

android:dashGap="3dp"

其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。


corners:圆角

android:radius为角的弧度,值越大角越圆。

我们还可以把四个角设定成不同的角度,方法为:

<corners

android:topRightRadius="20dp" 右上角

android:bottomLeftRadius="20dp" 右下角

android:topLeftRadius="1dp" 左上角

android:bottomRightRadius="0dp" 左下角 />

【注】bottomLeftRadius是右下角,而不是左下角,记得别搞错了。


padding:间隔


更多相关文章

  1. Android官方设计常用icon以及color颜色RGB值和对应颜色效果图
  2. android Button 切换背景,实现动态按钮和按钮颜色渐变
  3. 如何在XML设定android控件的颜色(十六进制颜色码)
  4. android 动态设置background颜色
  5. android textview部分字体变颜色
  6. android常用颜色
  7. android颜色管理
  8. android textview 部分文字加颜色并可点击
  9. android圆形进度条ProgressBar颜色设置

随机推荐

  1. 远程连接阿里云SqlServer 2012 数据库服
  2. SqlServer使用公用表表达式(CTE)实现无限级
  3. Android水波纹点击效果
  4. 【Android(安卓)Dev Guide - 03】 - Cont
  5. Android的图形系统
  6. android的Sprite,TiledLayer,LayerManage
  7. Android之TextView属性列表
  8. 浅谈android的selector背景选择器
  9. Android(安卓)性能优化之内存优化
  10. Android(安卓)STL PORT