android 自定义控件——(一)圆角按钮

时间:2023-03-08 20:26:00

----------------------------------矩形或圆角类型(源代码下有属性解释)-----------------------------------------------------

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABDgAAAGJCAMAAABYYHPKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNENkREQjgwOUY0MjExRTY4RjMzRDg3NTE2NUJGRkNEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNENkREQjgxOUY0MjExRTY4RjMzRDg3NTE2NUJGRkNEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0Q2RERCN0U5RjQyMTFFNjhGMzNEODc1MTY1QkZGQ0QiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0Q2RERCN0Y5RjQyMTFFNjhGMzNEODc1MTY1QkZGQ0QiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4fFZWHAAABgFBMVEXc3Nx5hcvU2O6a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" alt="" width="322" height="117" />

一、shape 样式:(在drawable新建--》new--》Drawable resource file 并把原父级标签selector改为shape )

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> <solid android:color="#4ec5ff" />
<padding
android:bottom="12dp"
android:left="12dp"
android:right="12dp"
android:top="12dp" />
<corners android:radius="10dp" />
<stroke
android:width="2dp"
android:color="#ffffff"
android:dashGap="270dp" /> </shape>
二、style 样式:
<style name="rectangle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">15sp</item>
<item name="android:textColor">#ffffff</item>
<item name="android:background">@drawable/buttonstyle</item>
</style> 三、Button控件调用style样式:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.ly.blogtest.MainActivity"> <Button
android:id="@+id/button"
style="@style/rectangle"
android:text="@string/btn1" />

</RelativeLayout>

----------------------------------矩形或圆角类型-----------------------------------------------------

----------------------------------android:shape属性指定形状------------------------------

  • rectangle: 矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等
  • oval: 椭圆形,用得比较多的是画正圆
  • line: 线形,可以画实线和虚线
  • ring: 环形,可以画环形进度条

----------------------------------android:shape属性指定形状------------------------------

----------------------------------shape的属性标签-----------------------------------------

<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一个属性

    • android:color 填充的颜色
  • padding: 设置内容与形状边界的内间距,可分别设置左右上下的距离

    • android:left 左内间距
    • android:right 右内间距
    • android:top 上内间距
    • android:bottom 下内间距
  • gradient: 设置形状的渐变颜色,可以是线性渐变、辐射渐变、扫描性渐变

    • android:type 渐变的类型
      • linear 线性渐变,默认的渐变类型
      • radial 放射渐变,设置该项时,android:gradientRadius也必须设置
      • sweep 扫描性渐变
    • android:startColor 渐变开始的颜色
    • android:endColor 渐变结束的颜色
    • android:centerColor 渐变中间的颜色
    • android:angle 渐变的角度,线性渐变时才有效,必须是45的倍数,0表示从左到右,90表示从下到上
    • android:centerX 渐变中心的相对X坐标,放射渐变时才有效,在0.0到1.0之间,默认为0.5,表示在正中间
    • android:centerY 渐变中心的相对X坐标,放射渐变时才有效,在0.0到1.0之间,默认为0.5,表示在正中间
    • android:gradientRadius 渐变的半径,只有渐变类型为radial时才使用
    • android:useLevel 如果为true,则可在LevelListDrawable中使用
  • corners: 设置圆角,只适用于rectangle类型,可分别设置四个角不同半径的圆角,当设置的圆角半径很大时,比如200dp,就可变成弧形边了

    • android:radius 圆角半径,会被下面每个特定的圆角属性重写
    • android:topLeftRadius 左上角的半径
    • android:topRightRadius 右上角的半径
    • android:bottomLeftRadius 左下角的半径
    • android:bottomRightRadius 右下角的半径
  • stroke: 设置描边,可描成实线或虚线。

    • android:color 描边的颜色
    • android:width 描边的宽度
    • android:dashWidth 设置虚线时的横线长度
    • android:dashGap 设置虚线时的横线之间的距离

----------------------------------shape的属性标签-----------------------------------------