百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

AndroidStudio安卓原生开发_UI高级_Shape的使用

bigegpt 2024-10-12 06:48 4 浏览

然后我们再来看一下android中的shape怎么用,可以看到上面就是

用shape做出来的效果.

用来做按钮的背景,等.

?

?

?

这个就是用了扫描线渐变.

上面是,对shape做了一些的,介绍和解释,我们一个个去写代码去看看,怎么用.

?

首先我们去看,线和虚线等

这个line_shape.xml

可以看到我们写了一个stroke这个指定描边,可以看到我们指定了

width是1px,就是说,线的宽度是1px

然后我们指定颜色是black黑色.

?

然后我们在activity_main.xml中,我们去写一个button,然后

我们给这个按钮的background,去设置,上面我们做的那个line_shape去.

?

设置以后,我们去看看效果,可以看到按钮的背景,出现了一个线.

?

我们放大看看.

?

然后我们给这个按钮两个文字,登录,我们再去看看

?

可以看到在登录,两个字,后面有个直线的背景.

?

然后这里我们可以给这个线,描边,设置为红色

color,设置为holo_red_dark,深红

同时,我们把这个线设置为虚线去看看,可以看到设置dashGap,这个是虚线线段之间的距离

dashWidth,这个是线段的长度是10dp我们设置.


?

可以看到效果.并没有出现我们想要的,虚线的效果对吧,怎么回事呢>?

?

因为android4.0以后,就启用了硬件加速功能,activity的硬件加速功能

我们去关闭就好了

比如上面:

我们在AndroidManifest.xml中的

activity上面设置,关闭硬件加速功能,就可以了

hardwareAccelerated = false


但是有人说如果关闭了activity的硬件加速功能,会不会影响activity的,响应速度啊,等.

那这样的话,我们还是保持activity的硬件加速功能打开.

?

然后我们在activity_main.xml的button上面,添加一个id是btn


?

然后我在MainActivi的onCreate方法中,我们去

获取这个btn按钮,然后

给这个按钮单独,启用软件加速,不用硬件加速.第二个参数传入null

?

去看看效果就有了.

这样,我们仅仅是对button,这个按钮,取消了硬件加速功能,这样不会影响整个activity的性能.

?

然后我们再去看矩形的形状,我们用solid这个,属性,指定填充的颜色是红色.

可以看到shape= rectangle

?

然后我们再去在activity_main.xml中去写一个按钮

text是注册.背景是rect_shape 这样指定就可以了.

?

然后我们去看看,有效果了,注册按钮,就有了一个我们上面去做的那个矩形的红色背景了,

但是这个时候,这个矩形是,没有圆角的不好看.

?

我们用corners这个属性,去设置一下,圆角的角度,这里设置为10dp

?

然后去看看,可以看到矩形,就有圆角了.

?

那么实际上,我们如果想要,下面没有圆角,上面有圆角,可以看到上面,我们可以单独设置,4个角的某个角

上是否有圆角.

?

然后我们再去给这个矩形,去用stroke,添加一个描边,蓝色的,1dp宽度的描边

?

去看看,就看到有个蓝色,1dp宽的描边了.

?

然后我们再去把这个描边,指定成,蓝色的虚线去.

dashGap,dashWidth

?

可以看到就有虚线了.

?

然后我们再去,看看这个矩形的,颜色的渐变

可以看到,我们这里渐变,我们首先用这个linear是线性渐变.去看看效果

可以看到我们设置了,垂直的线性渐变,所以这里angle是270度.

然后开始渐变的颜色是startColor是#f00是红色,然后中间的颜色centerColor是绿色,然后结束地方渐变的颜色是#00f蓝色


这样的话,他就会按照,先是红色,然后绿色,然后蓝色的规律,去渐变.效果没有截图可以自己运行试试

?

然后我们再去看看,我们这里渐变类型,选择radial,这个是径向渐变,

径向半径我们设置为20dp,同样,我们也设置了开始,中间,结束的渐变颜色.



?

然后我们去查看效果可以看到有效果,并且是按照,红色开始颜色,绿色中间颜色,蓝色结束颜色渐变的.

?

上面的渐变范围太小了不好看,我们弄大一点,

这个gradientRadius=200db这个渐变半径我们设置为200dp再去看看效果.

?

可以看到这样效果会明显一些了.

?

然后我们再去看一种渐变sweep,是扫描渐变.

64 .2021/5/25 8:49 .
64 .radial .n. 子午线轮胎;射线,光线 adj. 辐射状的;光线的
64 .gradient .n. 坡度,倾斜度;梯度 adj. 倾斜的
64 .Radius .半径(长度);半径(距离) 【数学】
64 .sweep .n. 打扫;延伸,伸展 v. 扫;清除;席卷;扫荡;掠过;扫视;延伸;绵延


?

然后我们为了看这个扫描渐变的效果明显,我们把这个

button按钮的高度设置成200dp

?

然后我们去看,扫描渐变的效果可以看到,他是从右边开始扫描,

从开始色红色,中间色绿色,结束色蓝色,扫描的.

要做一个GPS,雷达扫描的功能,那么用这个扫描渐变是可以用的.

?

然后我们再去看一个这个shape的熟悉,padding这个作用是什么

这里我们设置了left,right的padding是50dp,50dp

?

然后我们把渐变,先删除掉,为了看padding的效果比较方便看

?

然后我们去看看效果

?

可以看到,看不到任何效果是怎么回事呢?

?

现在我们这样做,我们把button的background指定的那个shape删除,然后添加到

LinearLayout上面,然后我们去看看效果

?

可以看到效果就有了.他是距离按钮的距离是多少.

?

其实相当于我们在LinearLayout中,添加paddingLeft/或者paddingRight这个属性,效果是一样的.

但是这个padding我们用的还真是不多.

?

然后我们再去看看shape的size属性.

?

然后我们去看看,也没有效果,这个size属性,我们几乎是用不到的.


实际上他就是没有什么用,只是可以通过shapeDriver.getInstrentHeight,width

获取设置的值而已.一般情况下,对于我们开发者来说这个size的值是没有什么用的


?




相关推荐

Linux gron 命令使用详解(linux gminer)

简介gron是一个独特的命令行工具,用于将JSON数据转换为离散的、易于grep处理的赋值语句格式。它的名字来源于"grepableon"或"grepable...

【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linu

学习Linux并掌握Java环境配置及SpringBoot项目部署是一个系统化的过程,以下是从零开始的详细指南,帮助你逐步掌握这些技能。一、Linux基础入门1.安装Linux系统选择发行版:推荐...

Linux常用的shell命令汇总(linux中shell的作用)

本文介绍Linux系统下常用的系统级命令,包括软硬件查看、修改命令,有CPU、内存、硬盘、网络、系统管理等命令。说明命令是在Centos6.464位的虚拟机系统进行测试的。本文介绍的命令都会在此C...

零成本搭建个人加密文件保险柜(适用于 Win11 和 Linux)

不依赖收费软件操作简单,小白也能跟着做支持双系统,跨平台使用实现数据加密、防删除、防泄露内容通俗无技术门槛,秒懂秒用使用工具简介我们将使用两个核心工具:工具名用途系统支持Veracrypt创建加密虚...

如何在 Linux 中使用 Gzip 命令?(linux怎么用gzip命令)

gzip(GNUzip)是Linux系统中一个开源的压缩工具,用于压缩和解压缩文件。它基于DEFLATE算法,广泛应用于文件压缩、备份和数据传输。gzip生成的文件通常带有.gz后缀,压缩效率...

Linux 必备的20个核心知识点(linux内核知识点)

学习和使用Linux所必备的20个核心知识点。这些知识点涵盖了从基础操作到系统管理和网络概念,是构建扎实Linux技能的基础。Linux必备的20个知识点1.Linux文件系统层级标...

谷歌 ChromeOS 已支持 7z、iso、tar 文件格式

IT之家6月21日消息,谷歌ChromeOS在管理文件方面进行了改进,新增了对7z、iso和tar等格式的支持。从5月的ChromeOS101更新开始,ChromeOS...

如何在 Linux 中提取 Tar Bz2 文件?

在深入解压方法之前,我们先来了解.tar.bz2文件的本质。.tar.bz2是一种组合文件格式,包含两个步骤:Tar(TapeArchive):tar是一种归档工具,用于将多个文件或目录打包...

如何在 CentOS 7/8 上安装 Kitematic Docker 管理器

Kitematic是一款流行的Docker图形界面管理平台,适用于Ubuntu、macOS和Windows操作系统。然而,其他发行版(如CentOS、OpenSUSE、Fedora、R...

Nacos3.0重磅来袭!全面拥抱AI,单机及集群模式安装详细教程!

之前和大家分享过JDK17的多版本管理及详细安装过程,然后在项目升级完jdk17后又发现之前的注册和配置中心nacos又用不了,原因是之前的nacos1.3版本的,版本太老了,已经无法适配当前新的JD...

爬虫搞崩网站后,程序员自制“Zip炸弹”反击,6刀服务器成功扛住4.6万请求

在这个爬虫横行的时代,越来越多开发者深受其害:有人怒斥OpenAI的爬虫疯狂“偷”数据,7人团队十年心血的网站一夜崩溃;也有人被爬虫逼到极限,最后只好封掉整个巴西的访问才勉强止血。但本文作者却走...

Ubuntu 操作系统常用命令详解(ubuntu必学的60个命令)

UbuntuLinux是一款流行的开源操作系统,广泛应用于服务器、开发、学习等场景。命令行是Ubuntu的灵魂,也是高效、稳定管理系统的利器。本文按照各大常用领域,详细总结Ubuntu必学...

Linux面板8.0.54 测试版-已上线(linux主机面板)

Linux面板8.0.54测试版【增加】[网站]Java项目新增刷新列表按钮【增加】[网站]PHP项目-Apache-服务新增守护进程功能【增加】[网站]Python项目创建/删除网站时新增同时创建...

开源三剑客——构建私有云世界的基石

公共云原生的浪潮正在席卷这个世界,亚马逊AWS、谷歌GCP和微软的Azure年收入增长超过了30%,越来越多的公司和个人开始将自己的服务部署到云环境中,大型数据中心的规模经济带来了成本的降低,可以在保...

2.2k star,一款业界领先的私有云+在线文档管理系统

简介kodbox可道云(原KodExplorer)是业内领先的企业私有云和在线文档管理系统,为个人网站、企业私有云部署、网络存储、在线文档管理、在线办公等提供安全可控,简便易用、可高度定制的私有云产品...