Android shape 几种用法
1 边框
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><corners android:radius="5dp" /><solid android:color="#ffdb78" /><strokeandroid:width="1dp"android:color="#fec252" />
</shape>
设置 stroke的width宽度就能实现边框
2覆盖
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item><shape><gradientandroid:angle="90"android:endColor="#46578B"android:startColor="#232355" /><corners android:radius="@dimen/main_card_corner" /></shape></item><itemandroid:bottom="@dimen/main_card_border"android:left="@dimen/main_card_border"android:right="@dimen/main_card_border"android:top="@dimen/main_card_border"><shape><corners android:radius="@dimen/main_card_corner" /><gradientandroid:angle="90"android:endColor="#282A5F"android:startColor="#0E0E2E" /></shape></item>
</layer-list>
设置 android:bottom="@dimen/main_card_border"
android:left="@dimen/main_card_border"
android:right="@dimen/main_card_border"
android:top="@dimen/main_card_border">
四个属性,也可以实现边框。
3 只某一条边或者两条边或者三条边有颜色
只显示一条底边
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:left="-5dp" android:top="-5dp" android:right="-5dp"><shape><strokeandroid:width="2dp"android:color="@color/black" /></shape></item>
</layer-list>
只显示右边
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:bottom="-5dp"android:left="-5dp"android:top="-5dp"><shape><strokeandroid:width="2dp"android:color="@color/taskdesc_tableheader_dividerline" /></shape></item>
</layer-list>
显示左右两边
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:top="-2dp"><shape><strokeandroid:width="1dp"android:color="@color/black" /></shape></item>
</layer-list>
显示左上下三条:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:right="-2dp"><shape><solid android:color="@color/transparent" /><strokeandroid:width="1dp"android:color="#CCFFC34C" /><cornersandroid:bottomLeftRadius="50dp"android:topLeftRadius="50dp"></corners></shape></item>
</layer-list>
具体怎么设置需要大家根据情况测试一下。
4 渐变
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><gradientandroid:angle="0"android:startColor="#1264C9"android:endColor="#31A5FC"android:type="linear" /><cornersandroid:bottomLeftRadius="25dp"android:bottomRightRadius="25dp"android:topLeftRadius="25dp"android:topRightRadius="25dp" />
</shape>
设置gradient的四个属性。
6 shape = ring 时 属性设置
android:shape=“ring” //共有4种类型,矩形(默认)/椭圆形/直线形/环形
// 以下4个属性只有当类型为环形时才有效
android:innerRadius=“dimension” //内环半径
android:innerRadiusRatio=“float” //内环半径相对于环的宽度的比例
android:thickness=“dimension” //环的厚度
android:thicknessRatio=“float” //环的厚度相对于环的宽度的比例
android:useLevel=“boolean” //如果当做是LevelListDrawable使用时值为true,否则为false,只有设置了false圆环才能显示出来。
** 一般设置:
android:innerRadiusRatio=“3.5”
android:thicknessRatio=“11”
两个属性,就能够调节大小了,系统默认使用了innerRadiusRatio 取值3,也使用了thicknessRatio 取值 9 **
其他还包括圆角,shape属性实现各种形状,size,padding等。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
