Android shape记录

news2024/11/25 19:49:07

之前一直觉得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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1049534.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构-快速排序-C语言实现

引言&#xff1a;快速排序作为一种非常经典且高效的排序算法&#xff0c;无论是工作还是面试中广泛用到&#xff0c;作为一种分治思想&#xff0c;需要熟悉递归思想。下面来讲讲快速排序的实现和改进。 老规矩&#xff0c;先用图解来理解一下&#xff1a;&#xff08;这里使用快…

【时区】Flink JDBC 和CDC时间字段时区 测试及时间基准

关联文章: 各种时间类型和timezone关系浅析 一、测试目的和值 1. 测试一般的数据库不含time zone的类型的时区。 mysql timestamp(3) 类型postgres timestamp(3) 类型sqlserver datetime2(3) 类型oracle类型 TIMESTAMP(3) 类型 在以下测试之中均为ts字段 2.测试CDC中元数据…

为什么 Go 语言 struct 要使用 tags

在 Go 语言中&#xff0c;struct 是一种常见的数据类型&#xff0c;它可以用来表示复杂的数据结构。在 struct 中&#xff0c;我们可以定义多个字段&#xff0c;每个字段可以有不同的类型和名称。 除了这些基本信息之外&#xff0c;Go 还提供了 struct tags&#xff0c;它可以用…

IPsec_SSL VPN身份鉴别过程简要

一、IPsec VPN身份鉴别&#xff08;参考国密标准《GMT 0022-2014 IPsec VPN技术规范》&#xff09; IKE第一阶段&#xff08;主模式&#xff09; “消息2”由响应方发出&#xff0c;消息中具体包含一个SA载荷&#xff08;确认所接受的SA提议&#xff09;、响应方的签名证书和…

1分钟快速实现Redis数据对比

在上篇「Redis高效、安全的不停机数据迁移方案」的文章中&#xff0c;介绍了NineData在Redis迁移场景下的性能和优势。因为数据在主备、多云和多区域环境之间的迁移流动&#xff0c;难免会产生数据一致性的问题&#xff0c;而结构与数据不一致往往是导致故障的原因之一。所以&a…

分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测

分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现NGO-CNN北方苍鹰算法优化卷积神经网络数据分类预测&…

stl格式-3D三角形

文章目录 什么是stl文件?格式首选stl的语法1.这是一个stl格式的文件:(ASCII码)2.下面先举个例子(难度略微提示)补充:关于\<\<我试了一下:这个法线你随便写好像也没问题\>> 3.来个立方体4.最后再写一个由三个直角形组成的立方体(直棱锥)5.amend 修正(右手定则,法线…

纯css html 真实水滴效果

惯例,不多说直接上图 秉承着开源精神,我们将这段代码无私地分享给大家&#xff0c;因为我们深信&#xff0c;信息的共享和互相学习是推动科技进步的关键。我们鼓励大家在使用这段代码的同时&#xff0c;也能够将其中的原理、思想和经验分享给更多的人。 这份代码是我们团队用心…

基于Linux系统聊天室增加数据库sqlite功能实现(08)

全部掌握后&#xff0c;开始进入本篇。 一. 调整目录结构 为了方便编译&#xff0c;现在我们将前面文章的代码结构做如下调整。 rootubuntu:/mnt/hgfs/code/chat# tree . . ├── chat_client │ ├── include │ ├── Makefile │ ├── obj │ │ └── …

面试总结之Spring篇

一、AOP 1、什么是AOP 1.1、概述 AOP&#xff08;Aspect-Oriented Programming&#xff09;&#xff1a;面向切面编程&#xff0c;即把一些业务逻辑中的相同代码抽取出来&#xff0c;让业务逻辑更加简练清爽 如果要CRUD写一堆业务&#xff0c;可如何实现业务代码前后进行打印…

自动化测试工具之Selenium IDE录制教程

一、下载Selenium IDE 下载传送带&#xff1a;Selenium IDE Open source record and playback test automation for the web 这里Darren洋以firefox火狐浏览器为例&#xff0c;将以上下载url直接在firefox浏览器中打开&#xff0c;点击对应下载按钮后&#xff0c;就会进入添加…

【网络协议】TCP

TCP协议全称为传输控制协议(Transmission Control Protocol).要理解TCP就要从他的特性开始说&#xff0c;这些特性各自之间或多或少各有联结&#xff0c;需要以宏观视角来看待。 目录&#xff1a; 1.TCP报文格式 因为报文解释过于繁琐&#xff0c;具体内容请看这篇文章TCP报文…

架构案例2022(四十二)

促销管理系统 某电子商务公司拟升级其会员与促销管理系统&#xff0c;向用户提供个性化服务&#xff0c;提高用户的粘性。在项目立项之初&#xff0c;公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性&#xff0c;由于当前用户规模不大&#xff0c;业务也相对…

PDF文件超出上传大小?三分钟学会PDF压缩

PDF作为一种流行的文档格式&#xff0c;被广泛用于各种场合&#xff0c;然而有时候PDF文件的大小超出了上传限制&#xff0c;这时候我们就需要采取一些措施来减小PDF文件的大小&#xff0c;下面就给大家分享几个方法&#xff0c;一起来学习下吧~ 方法一&#xff1a;嗨格式压缩大…

windows WSL配置cuda,pytorch和jupyter notebook

机器配置 GPU: NVIDIA Quadro K2000 与 NVIDIA 驱动程序捆绑的CUDA版本 但按照维基百科的描述&#xff0c;我的GPU对应的compute capability3.0&#xff0c;允许安装的CUDA最高只支持10.2&#xff0c;如下所示。 为什么本地会显示11.4呢&#xff1f;对此&#xff0c;GPT是这…

R语言分析:如何轻松地把数据分为三、四、五等份?

有网友问了&#xff0c;我如何对连续型资料进行分组&#xff0c;常见的有按照中位数分组、四分位数分组&#xff0c;甚至分为5组。 这个问题其实很简单的了。 用两个函数&#xff0c;一个是quantile函数&#xff0c;另外一个是cut函数 1. quantile()函数的应用 该函数目的是获得…

白盒 SDK 加密 —— Go 语言中直调 C 动态库实现

文章目录 1.背景2.实现方式2.1.C 库 .so 文件生成2.2.C 库 .h 文件2.3.Goland 调用实现2.3.1 整体2.3.2 注释块部分2.3.3 逻辑实现部分 3.小结 1.背景 在重构的历史项目中&#xff0c;有一点是语言转换&#xff1a;从 PHP 转至 Goland &#xff0c;在压缩资源的同时&#xff0…

SpringMVC+统一表现层返回值+异常处理器

一、统一表现层返回值 根据我们不同的处理方法&#xff0c;返回的数据格式都会不同&#xff0c;例如添加只返回true|false&#xff0c;删除同理&#xff0c;而查询却返回数据。 Result类 为此我们封装一个result类来用于表现层的返回。 public class Result {//描述统一格式…

B. Sets and Union

题目&#xff1a; 样例&#xff1a; 输入 4 3 3 1 2 3 2 4 5 2 3 4 4 4 1 2 3 4 3 2 5 6 3 3 5 6 3 4 5 6 5 1 1 3 3 6 10 1 9 2 1 3 3 5 8 9 1 2 4 28输出 4 5 6 0 思路&#xff1a; 这里题目的意思是&#xff0c;要求合并尽可能多的集合&#xff0c;使它的集合大小最大&…

flink中不同序列化器性能对比

背景 flink有多种序列化方式&#xff0c;包括flink内置的以及fallback到kryo的&#xff0c;那么他们之间有多大的性能差距呢&#xff0c;本文就从https://flink.apache.org/2020/04/15/flink-serialization-tuning-vol.-1-choosing-your-serializer-if-you-can/这篇文章里摘录…