当前位置: 首页 > news >正文

Android shape记录

之前一直觉得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"><cornersandroid:radius="@dimen/dp_10" /><solidandroid: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"><itemandroid:width="@dimen/dp_30"android:height="@dimen/dp_30"><shape android:shape="oval"><gradientandroid:centerX="50%"android:centerY="50%"android:endColor="#00FF0000"android:gradientRadius="50%"android:startColor="#FFFF0000"android:type="radial" /></shape></item><itemandroid: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"><strokeandroid: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><itemandroid:left="@dimen/dp_50"android:right="@dimen/dp_50"><shape android:shape="line"><strokeandroid:width="@dimen/dp_5"android:color="?attr/colorBorder" /></shape></item><itemandroid:left="@dimen/dp_50"android:right="@dimen/dp_50"><rotate android:fromDegrees="90"><shape android:shape="line"><strokeandroid:width="@dimen/dp_5"android:color="?attr/colorBorder" /></shape></rotate></item>
</layer-list>

http://www.lryc.cn/news/180268.html

相关文章:

  • WSL2和ubuntu的安装过程
  • 力扣第150题 逆波兰表达式求值 stack c++
  • 三、飞行和射击
  • GitHub与GitHubDesktop的使用
  • AIGC 微调的方法
  • gcc编译webrtc x64
  • uni-app 实现凸起的 tabbar 底部导航栏
  • 中国1km土壤特征数据集(2010年)
  • 计算机网络笔记 第二章 物理层
  • 使用CreateProcess崩溃:处未处理的异常: 0xC0000005: 写入位置 0x00415652 时发生访问冲突
  • Java 华为真题-出租车计费
  • 开源layui前端框架 收款码生成系统源码 多合一收款码生成源码 带50多套UI模板
  • 微服务moleculer01
  • C++中将指针传递给函数
  • 【51单片机编写占空比按秒渐亮与渐暗】2023-10-2
  • OCI 发布了容器运行时和镜像规范!
  • C++学习笔记一: 变量和基本类型
  • 探索ClickHouse——同时支持导入导出功能的文件格式
  • Scipy库提供了多种正态性检验和假设检验方法
  • 去雨去雪去雾算法之本地与服务器的TensorBoard使用教程
  • 【小沐学前端】Node.js实现基于Protobuf协议的WebSocket通信
  • MySQL学习笔记24
  • objective-c 基础学习
  • 【精彩回顾】 用sCrypt在Bitcoin上构建智能合约
  • Kotlin 使用泛型
  • 深度学习 二:COVID 19 Cases Prediction (Regression)
  • UG\NX二次开发 信息窗口的4种输出方式 NXOpen::ListingWindow::DeviceType
  • mavn打包时如何把外部依赖加进去?
  • 爬虫代理请求转换selenium添加带有账密的socks5代理
  • Redis 如何实现数据不丢失的?