利用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);