自定义控件之shape标签

绘制shape.xml文件,shape其实是一个图形

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size
    android:width="40dp"
    android:height="40dp"/>
<solid android:color="#543422" />
<gradient
    android:angle="270"
    android:endColor="#44d900"
    android:startColor="#ff9d44" />
<!--边框设置虚线-->
<stroke
    android:width="2dp"
    android:color="#736292"
    android:dashGap="5dp"
    android:dashWidth="10dp"
/>
<corners android:radius="5dp" />
<padding
    android:bottom="20dp"
    android:left="20dp"
    android:right="20dp"
    android:top="20dp" />
</shape>

作为Button的背景图片和Button的上方图片

<Button
    android:drawableTop="@drawable/shape"
    android:text="shape"
    android:textColor="#000000"
    android:background="@drawable/shape"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"  />
shape效果图
Button_Shape.png
shape本身图形shape的属性

android:shape=["rectangle" | "oval" | "line" | "ring"]
图形设置有矩形(rectangle)椭圆形(oval)线性形状(line)环形(ring)

使用shape属性设置EditText的光标图形
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"><!--设置光标的图形 -->
<!--设置光标的大小 -->
<size android:width="2dp"/>
<!--设置光标的颜色 -->
<solid android:color="#000000"/></shape>
shape子标签
  • size

图形的大小

  • corner

圆角,指的是图形的四个角的弧度;
圆角android:radius为角的弧度,值越大角越圆。

  • solid

填充,可以理解为绘制图形的背景颜色;android:color指定填充的颜色

  • gradient

渐变,指的是填充的颜色效果;
起始颜色结束颜色android:startColor 和 android:endColor
渐变模式android:type="linear",即线性渐变,
径向渐变 android:type="radial"
渐变角度android:angle,必须为45的整数倍
渐变半径android:gradientRadius="50",渐变模式为径向渐变

  • stroke

边框,也指描边
**android:width="2dp" **边框的宽度
android:color 边框的颜色。
把边框设置成虚线:
**android:dashWidth="5dp" ** 虚线的宽度
**android:dashGap="3dp" **虚线与虚线的距离

  • padding

内边距
当作为某个控件的背景时,控制的是控件里的内容跟背景的距离

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,342评论 25 709
  • 原创文章,转载请注明:转载自Keegan小钢 并标明原文链接:http://keeganlee.me/post/a...
    于加泽阅读 5,547评论 0 5
  • Android中提供了shape形状给我们使用,我们可以通过shape画出虚线、圆角、渐变等多种效果,而且,sha...
    张文文同学阅读 5,008评论 1 8
  • 你好哇,李银河。今天看王小波《爱你就像爱生命》。这是一本手机王小波与李银河二十年间来往的信件,称之为“情书”好吧...
    水木易安V阅读 962评论 0 0
  • “从明天起做个幸福的人,劈柴,喂马,周游世界!”从今天起做个独立的女人,精神独立,才能做个幸福的女人。 从一开始,...
    风信子的小世界阅读 2,795评论 2 2