Loading

利用shape设置自定义背景

新建一个 drawable resource file, root element 选择 shape, 支持一下几种属性

  • gradient : 渐变色填充
    <gradient
        android:angle="45"
        android:startColor="#000000"
        android:endColor="#ffffff"
        android:type="linear" />
  • solid : 纯色填充,和 gradient 互斥
<solid android:color="#333333"/>
  • stroke : 描边
    <stroke
        android:color="#ffffff"
        android:width="10dp"
        android:dashGap="10dp"
        android:dashWidth="30dp"/>
  • corners : 圆角
    <corners
        android:radius="10dp"
        android:topRightRadius="50dp"
        android:bottomRightRadius="50dp"/>
  • padding : 内容离边界的距离
    <padding
        android:top="8dp"
        android:bottom="8dp"
        android:left="16dp"
        android:right="16dp"/>

最后再把TextView的 android:background 属性设置成自定义的xml样式文件就可以了.

android:background="@drawable/textview_style"

设置完drawable,如果需要在代码中动态设置其颜色值。不能直接在代码中使用 setBackgroundColor(color) 设置颜色,会发现设置完后样式消失了.
正确的做法应该是获取drawable,然后通过drawable设置颜色

GradientDrawable myGrad = (GradientDrawable)view.getBackground();
myGrad.setColor(Color.BLACK);
posted @ 2017-01-02 14:48  辉灬  阅读(4335)  评论(0编辑  收藏  举报