android shape的使用 自定义 控件形状
16lz
2021-01-26
shape用于设定形状,
可以在selector,layout等里面使用,有6个子标签,各属性如下:
<?xmlversion="1.0"encoding="utf-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"><!--圆角--><cornersandroid:radius="9dp"android:topLeftRadius="2dp"android:topRightRadius="2dp"android:bottomLeftRadius="2dp"android:bottomRightRadius="2dp"/><!--设置圆角半径--><!--渐变--><gradientandroid:startColor="@android:color/white"android:centerColor="@android:color/black"android:endColor="@android:color/black"android:useLevel="true"android:angle="45"android:type="radial"android:centerX="0"android:centerY="0"android:gradientRadius="90"/><!--间隔--><paddingandroid:left="2dp"android:top="2dp"android:right="2dp"android:bottom="2dp"/><!--各方向的间隔--><!--大小--><sizeandroid:width="50dp"android:height="50dp"/><!--宽度和高度--><!--填充--><solidandroid:color="@android:color/white"/><!--填充的颜色--><!--描边--><strokeandroid:width="2dp"android:color="@android:color/black"android:dashWidth="1dp"android:dashGap="2dp"/></shape>
填充:设置填充的颜色
间隔:设置四个方向上的间隔
大小:设置大小
圆角:同时设置五个属性,则Radius属性无效
android:Radius="20dp" 设置四个角的半径
android:topLeftRadius="20dp" 设置左上角的半径
android:topRightRadius="20dp" 设置右上角的半径
android:bottomLeftRadius="20dp" 设置右下角的半径
android:bottomRightRadius="20dp" 设置左下角的半径
描边:dashWidth和dashGap属性,只要其中一个设置为0dp,则边框为实现边框
android:width="20dp" 设置边边的宽度
android:color="@android :color/black" 设置边边的颜色
android:dashWidth="2dp" 设置虚线的宽度
android:dashGap="20dp" 设置虚线的间隔宽度
渐变:当设置填充颜色后,无渐变效果。angle的值必须是45的倍数(包括0),仅在type="linear"有效,不然会报错。android:useLevel 这个属性不知道有什么用。
使用方式为
1.在drawable 下新建 shape.xml 文件
<?xmlversion="1.0"encoding="UTF-8"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><!--填充的颜色--><solidandroid:color="#FFFFFF"/><!--设置矩形的四个角为弧形--><!--android:radius弧形的半径--><cornersandroid:radius="5dip"/><!--设置矩形的边框--><strokeandroid:width="1dp"android:color="#9ebce8"/></shape>
2.设置引用
android:background="@drawable/shape"
<EditTextandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/shape"/>
背景选择变化 selector
bg_selector.xml
<?xmlversion="1.0"encoding="UTF-8"?><selectorxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:drawable="@drawable/photo_gallery_pressed"android:state_focused="true"/><itemandroid:drawable="@drawable/photo_gallery_pressed"android:state_focused="false"android:state_pressed="true"/><itemandroid:drawable="@drawable/photo_gallery_normal"android:state_focused="false"/></selector>
background="@drawable/bg_selector"
更多相关文章
- Android(安卓)CoordinatorLayout使用 标题由图片变纯色
- Android全屏 去除标题栏和状态栏
- Android(安卓)WebView使用经验总结
- XUI 一个简洁而优雅的Android原生UI框架,解放你的双手!
- Android各版本间API的差异 - ActionBar
- 【android之锚定视图】
- Android(安卓)Design Support 介绍
- Android实现文字垂直滚动、纵向走马灯效果的实现方式汇总
- Android模拟器运行速度很慢的解决办法