Android shape记录
作者:小教学发布时间:2023-10-02分类:程序开发学习浏览:81
导读:之前一直觉得dataPath很好用,可以画各种矢量图。今天发现用shape画图也不错,记录一下自己用shape画的图。一般使用shape就是定义形状、stroke边、sol...
之前一直觉得dataPath很好用,可以画各种矢量图。今天发现用shape画图也不错,记录一下自己用shape画的图。
一般使用shape就是定义形状、stroke边、solid内部、corners圆角等,代码
<?xml version ="1.0" encoding ="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="@dimen/dp_10" />
<solid
android:color="?attr/colorBgKey" />
<stroke android:width="@dimen/dp_1" android:color="@color/black"/>
</shape>
然后,shape也可以处理一下复杂一点的。
、
这其实是画两层,一层是一个渐变圆,一层是是个实心圆。
shape分层就需要用到 layer-list 每一层用 item 包裹,在 item 中写具体的shape。其中item可以指定width、height、top、left、right、bottom来控制每一层的位置。
代码如下
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:width="@dimen/dp_30"
android:height="@dimen/dp_30">
<shape android:shape="oval">
<gradient
android:centerX="50%"
android:centerY="50%"
android:endColor="#00FF0000"
android:gradientRadius="50%"
android:startColor="#FFFF0000"
android:type="radial" />
</shape>
</item>
<item
android:width="@dimen/dp_10"
android:height="@dimen/dp_10" android:top="@dimen/dp_10" android:left="@dimen/dp_10">
<shape android:shape="oval">
<solid android:color="#FFFF0000"/>
</shape>
</item>
</layer-list>
下面是一个拍照背景图片
也是用到layer-list,代码如下
<?xml version ="1.0" encoding ="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke
android:width="@dimen/dp_5"
android:color="?attr/colorBorder"
android:dashWidth="@dimen/dp_10"
android:dashGap="@dimen/dp_10" />
<corners android:radius="@dimen/dp_15" />
<solid android:color="?attr/colorBg" />
</shape>
</item>
<item
android:left="@dimen/dp_50"
android:right="@dimen/dp_50">
<shape android:shape="line">
<stroke
android:width="@dimen/dp_5"
android:color="?attr/colorBorder" />
</shape>
</item>
<item
android:left="@dimen/dp_50"
android:right="@dimen/dp_50">
<rotate android:fromDegrees="90">
<shape android:shape="line">
<stroke
android:width="@dimen/dp_5"
android:color="?attr/colorBorder" />
</shape>
</rotate>
</item>
</layer-list>
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)
- 8[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 9鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版