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等。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部