android中shape,selector,layer-list用法总结

Cursor Agent模式下如何优雅切换conda环境运行Python脚本?3种实用方法实测 本文针对Cursor Agent模式下运行Python脚本时环境错配的痛点,实测了三种优雅切换conda环境的实用方法。通过Shell全局配置、项目级.cursorrc文件定制以及对话中直接指令,开发者可以确保AI助手在正确的虚拟环境中执行代码,从而提升开发效率和协作流畅度。 阅读详情

1.先看一个shape的效果


,xml代码如下:

    <Button
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_margin="10dp"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:background="@drawable/circle_corner_button_selector"
        android:text="next" />
circle_corner_button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#0081B7"/>
    <corners android:radius="30px"/>
    <stroke android:color="#FF4081"
        android:width="2px"
        />
</shape>
solid:填充的颜色,corners:圆角属性,stroke:描边的颜色: ,关于shape属性,:
<?xml version="1.0" encoding="utf-8"?>  
<shape  
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape=["rectangle" | "oval" | "line" | "ring"]      //共有4种类型,矩形(默认)/椭圆形/直线形/环形  
    // 以下4个属性只有当类型为环形时才有效  
    android:innerRadius="dimension"     //内环半径  
    android:innerRadiusRatio="float"    //内环半径相对于环的宽度的比例,比如环的宽度为50,比例为2.5,那么内环半径为20  
    android:thickness="dimension"   //环的厚度  
    android:thicknessRatio="float"     //环的厚度相对于环的宽度的比例  
    android:useLevel="boolean">    //如果当做是LevelListDrawable使用时值为true,否则为false.  
  
    <corners    //定义圆角  
        android:radius="dimension"      //全部的圆角半径  
        android:topLeftRadius="dimension"   //左上角的圆角半径  
        android:topRightRadius="dimension"  //右上角的圆角半径  
        android:bottomLeftRadius="dimension"    //左下角的圆角半径  
        android:bottomRightRadius="dimension" />    //右下角的圆角半径  
  
    <gradient   //定义渐变效果  
        android:type=["linear" | "radial" | "sweep"]    //共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变  
        android:angle="integer"     //渐变角度,必须为45的倍数,0为从左到右,90为从上到下  
        android:centerX="float"     //渐变中心X的相当位置,范围为0~1  
        android:centerY="float"     //渐变中心Y的相当位置,范围为0~1  
        android:startColor="color"      //渐变开始点的颜色  
        android:centerColor="color"     //渐变中间点的颜色,在开始与结束点之间  
        android:endColor="color"    //渐变结束点的颜色  
        android:gradientRadius="float"  //渐变的半径,只有当渐变类型为radial时才能使用  
        android:useLevel=["true" | "false"] />  //使用LevelListDrawable时就要设置为true。设为false时才有渐变效果  
  
    <padding    //内部边距  
        android:left="dimension"  
        android:top="dimension"  
        android:right="dimension"  
        android:bottom="dimension" />  
  
    <size   //自定义的图形大小  
        android:width="dimension"  
        android:height="dimension" />  
  
    <solid  //内部填充颜色  
        android:color="color" />  
  
    <stroke     //描边  
        android:width="dimension"   //描边的宽度  
        android:color="color"   //描边的颜色  
        // 以下两个属性设置虚线  
        android:dashWidth="dimension"   //虚线的宽度,值为0时是实线  
        android:dashGap="dimension" />      //虚线的间隔  
</shape>  
下面我们看一个线性渐变例子:
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="线性"
        android:layout_below="@id/button2"
        android:background="@drawable/shape_button3" />
shape_button3.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:useLevel="false" >

    <gradient
        android:type="linear"
        android:angle="0"
        android:startColor="@android:color/holo_green_dark"
        android:centerColor="@android:color/holo_blue_dark"
        android:endColor="@android:color/holo_red_dark"
        android:useLevel="false" />

    <size android:width="60dp" android:height="60dp" />

    <stroke android:width="1dp"
        android:color="@android:color/white" />

</shape>
定义一个从左到右,起始颜色为holo_green_dark,中间颜色为holo_bulue_dark,结束颜色为holo_red_dark,的渐变色.效果如下: 

还有很多其他属性,大大们可以去试试.

下面结合上面的shape属性,来用selector属性看个例子:

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_margin="10dp"
        android:layout_height="wrap_content"
        android:text="其他"
        android:layout_below="@id/textView"
        android:background="@drawable/button2_shape" />
button2_shape.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/shape_border_press" android:state_pressed="true" />//设置单击时的背景
    <item android:drawable="@drawable/shape_border_nor" android:state_pressed="false" />//设置正常情况下得背景
</selector>
,上面有注释,然后看一下单击时的背景shape_border_press.xml,
<?xml version="1.0" encoding="utf-8"?>
<!--定义一个带圆角,白色背景,绿色边框的矩形-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--圆角-->
    <corners android:radius="5dp" />
    <!--填充颜色-->
    <solid android:color="@color/white" />
    <!--描边-->
    <stroke
        android:width="1dp"
        android:color="@color/green" />
</shape>
正常情况下shape_border_nor.xml,
<?xml version="1.0" encoding="utf-8"?>
<!--定义一个带圆角,白色背景,蓝色边框的矩形-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!-- 圆角 -->
    <corners android:radius="5dp" />
    <!--填充颜色-->
    <solid android:color="@color/white" />
    <!-- 描边 -->
    <stroke
        android:width="1dp"
        android:color="@color/blue" />
</shape>
,看一下效果:正常情况下, ,点击时: 。

在实际开发中,shape属性还有如下设置,

android:state_window_focused="false" 表示默认时情况下的背景图片,此外还可以设置:

android:state_focused="true"表示在获得焦点时的背景图片

android:state_selected="true"表示被选中时的背景图片

android:state_enabled="true"表示响应时的背景图片

.最后我们看一下layer-list用法:

添加一个按钮:

<Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="线性"
        android:layout_below="@id/button3"
        android:background="@drawable/shape_button4" />
然后看一下shape_button4.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/step_rzy_bg" android:state_pressed="true" />
    <item android:drawable="@drawable/shape_button4_nor" android:state_pressed="false" />
</selector>
和上面的按钮一样,一个是设置点击时,下面一个就是正常情况下得效果:

看一下step_rzy_bg.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:left="10.0dip" android:right="5.0dip">
        <shape android:shape="rectangle">
            <stroke android:width="2.0dip" android:color="@color/red" />
        </shape>
    </item>
    <item android:top="10.0dip">
        <shape android:shape="rectangle">
            <solid android:color="#00FF00" />
        </shape>
    </item>
</layer-list>
,先看一下他点击之后的效果:

layer-list也是一种设置背景属性,估计读者也看出来了,layer-list属性是依次叠加的,第一个item里面的stroke的黑色,left=10.0dip,right=5.0dip,表示这一部分不引用shape里面设置的属性,第二个item就是第一个item下显示的效果,

然后看一下shape_button4_nor.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:top="2.0dip">
        <shape android:shape="rectangle">
            <stroke android:width="5dip" android:color="#FF4081" />
            <padding
                android:bottom="2dp"/>
        </shape>

    </item>
    <item android:top="3.0dip">
        <shape android:shape="rectangle">
            <solid android:color="@color/blue" />
        </shape>
    </item>
</layer-list>
正常情况的效果: ,和上面的一样,代码就不说了。


      源码(selectorDemo)











零基础也能搞定!华为USG6000V防火墙WEB管理界面开启教程 本文详细介绍了华为USG6000V防火墙WEB管理界面的开启教程,从环境准备、网络配置到防火墙初始化,逐步指导用户完成图形化管理界面的搭建。特别适合零基础用户快速掌握企业级防火墙的可视化操作,提升安全管理效率。 阅读详情

相关推荐

用宝塔面板+CentOS 7.6,30分钟搞定DNF手游私服搭建(附全套资源下载)

本文详细介绍了如何使用宝塔面板和CentOS 7.6在30分钟内快速搭建DNF手游私服。通过图形化界面操作,无需复杂命令,即可完成服务端部署、MySQL数据库配置及客户端适配,适合Linux新手快速上手。

weixin_33737774的博客 601

Android动态去设置selector中的layer-list中item的stroke

shape

小白新人 571

华为防火墙USG6000V---内网访问外网---外网访问内网服务器(NAT服务器)示例配置

华为防火墙USG6000V示例配置,展示了访问防火墙、内网服务器、外网和外网访问内网服务器(NAT服务器)的配置。

lehe99的专栏 2万+

Android常用的shape,selector,layer-list使用说明

shape的优势,Android开发中,使用shape可以方便的帮我们画出背景,相对于png图片来说,使用shape可以减少安装包的大小,而且能够更好的适应不同的手机; 1.shape(GradientDrawable) shape顾名思义就是形状的意思,我们在平时开发的中,应用的频率也很高,该文件是一个xml文件,并放在drawable文件夹下如res/drawable/filename.xml,那么引用方式也很简单,我们一般在控件的background使用,如android:background=.

Tiger的专栏 2765

频偏估计技术:从原理到5G应用的实战解析

本文深入解析了5G通信中的频偏问题及其核心技术。频偏如同调不准的旋钮,会导致信号失真与载波间干扰。文章详细拆解了整数倍与小数倍频偏估计两大核心方法,重点剖析了基于循环前缀和基于同步信号块的算法原理与优劣,并结合eMBB、mMTC、URLLC三大5G应用场景,提供了实战算法选择策略与参数调优避坑指南。

weixin_29218963的博客 262

Windows11 下 Detectron2 的安装与配置全攻略

本文提供了在Windows11系统下安装和配置Detectron2的完整教程。详细介绍了从环境准备、创建虚拟环境、安装PyTorch与CUDA,到修改源码、编译安装以及运行验证Demo的全过程,帮助开发者克服Windows平台上的常见问题,成功部署这一强大的计算机视觉库。

weixin_29081703的博客 246

Android stroke 边框线 某一边

有时候需要给View加边框线,我们经常是四边一起加,然而有时候,我们并不需要四边都会有边框,只是某几条或某一条加边框。

Lajos的博客 4万+

FreeCAD地下管道自动化建模实战:Python脚本从入门到导出OBJ

本文详细介绍了如何利用FreeCAD的Python API实现地下管道的自动化建模,从数据处理到模型导出OBJ格式的全流程。通过实战案例和代码示例,展示了圆形和矩形截面管道的创建方法,以及法兰连接等特殊处理技巧,大幅提升工程设计效率。

ff678的博客 248

Android开发小点滴之selector、layer-list

简单给大家介绍selector与layer-list 先看selector (背景选择器) 一. 用法: selector只有一个子元素item,我们定义两种类型的item,一种状态为按下时,我们把颜色设置为浅灰色,否则使用另一个item的白色颜色. 运用场景:可点击的按钮,点击时改变颜色.同理,可应用到资源图片,如下:

zhouhangzooo的博客 579

【学习K230-例程46】GT6700-UVC摄像头

UVC模块提供了USB摄像头的检测、配置和图像采集功能,支持单摄像头操作。本实验通过开发板上的USB接口连接摄像头,将摄像头捕获到的画面显示在显示设备上。print(f"模式{i}: {mode.width}x{mode.height} {mode.format}@{mode.fps}fps")print(f"摄像头检测: {‘已连接’ if plugin else ‘未连接’}, 设备信息: {devinfo}")检测系统是否连接了USB摄像头(当前仅支持单个摄像头检测)。获取摄像头支持的所有视频模式。

GilgameshJSS的博客 806

FOC电机控制中电流采样延迟补偿的原理和方法

摘要: FOC电机控制中,电流采样、计算与PWM更新存在固有延迟(约1.5个PWM周期),导致相位滞后,限制电流环带宽。主流补偿方法包括: 一阶前向预测法:基于历史电流值预测未来电流,抵消延迟,工程应用广泛; 相位超前补偿:通过s/z域校正器设计实现等效预测; 状态观测器法(如龙伯格观测器):通过电机模型闭环估计状态,兼具噪声抑制和参数辨识能力,但复杂度高。实际需注意参数敏感性、离散化精度及延迟时间校准,避免过补偿风险。一阶预测法因平衡效果与复杂度成为工业首选。

jifengzhiling的博客 2232

android selector 和 layer-list复合使用

在我们写android布局的时候我们需要用到selector 和layer-list, 他们之间可以嵌套使用的,但是不能直接嵌套,不然不会生效,需要先写好layer-list布局,如下 之后再selector 布局中引用,代码如下 这样写来就十分方便 而且selector也可以嵌套使用 但是一般不需嵌套,除了一些自定义了操作

qq_20976303的博客 3212

【Halcon 】Halcon 实战:如何为 XLD 模板添加极性信息以提升匹配精度?

本文介绍了Halcon中为XLD轮廓模板添加极性信息的实用技巧。通过先以"ignore_local_polarity"模式创建模板,首次匹配获得位置后,使用set_shape_model_metric运算符结合真实图像为模板注入极性信息(边缘明暗方向)。这种方法弥补了XLD模板初始不支持极性的缺陷,可显著提升后续匹配的精度和抗干扰能力。实验显示,添加极性信息后的模板匹配效果明显优于无极性的匹配结果。该技术特别适用于基于手动绘制或处理后的XLD轮廓创建模板的场景。

songhuangong123的博客 751

Android shape和selector和layer-list用法

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方

迷茫的岁月的专栏 530

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android:listselector 代码怎么设置,Android开发中:shape和selector和layer_list的用法

一万年太久,只争朝夕。学习需要点点滴滴的积累,那么好吧,作为一名标准的学渣,我觉得我应该从点滴做起。(从头开始,我准备先去剪个头,哈哈哈)今天我来说一下在Android开发中经常用到的一些小知识点,我想有很多小白朋友们都会忽略这一块的细节。(形状) 首先我们应该了解一下他是什么:说明作用:xml中定义的几何形状存在的位置:res/drawable/文件名.xml如何的使用:Java代码中R.dra...

weixin_39616503的博客 280

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Android开发:shape和selector和layer-list的(详细说明)

文章出处:http://blog.youkuaiyun.com/brokge/article/details/9713041 1.Shape简介作用:XML中定义的几何形状位置:res/drawable/文件的名称.xml使用的方法:Java代码中:R.drawable.文件的名称XML中:Android:background="@drawable/文件的名称"属性:<shape&...

weixin_34095889的博客 67

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android开发 drawable中XML的相关应用

一。网络资源案例(关于selector用法):android背景选择器selector用法汇总(2011-04-19 13:40:00) 1.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片                             android:drawable="@dr

fngy123的专栏 1067

11.Android anim drawable color 技巧

Android anim drawable color 技巧Android anim drawable color 技巧 Anim animation-list实现帧动画 Anim 从左淡入 Anim 从左淡出 Anim 从右淡入 Anim 从右淡出 Drawable shape属性 Drawable selector属性 Drawable selectorshape混搭 Drawable sele

Save you from anything 6717

Android Drawable详解

工作中也有整理知识点的习惯,不过之前整理的知识点都放到印象笔记里面了,今天打算把这些内容拿出来与大家分享。内容不全的话请大家补充哈。 先放上两个写的比较好的博文:http://keeganlee.me/post/android/20150916 http://blog.youkuaiyun.com/ouyang_peng/article/details/8800743OK,废话不多说,上代码

Will的专栏 472

除了布局,android中xml的其他用法

对于android新手来说,对xml的布局肯定是在熟悉不过。所以我们今天不说这个,我们来谈谈xml在android中除了布局,还有什么其他的用法?我直接总结一下有哪些其他用法:首先我们来看在drawable这个文件夹中有哪些用法。 要想看有哪些方法,我们可以借助提示工具,看有哪些标签。 1.selector这个对于初学者还是比较难以理解。selector就是状态列表(StateList) 它分为

yueyue_projects的专栏 448

Android动画的理解

基础知识 在我们开始讲Android动画这个知识点之前,我们了解下相应的基础知识点。 Shape篇 一般用Shape定义的XML文件是存放在Drawable目录下,广泛应用于在Button、TextView、EditText等各种基本控件中,来实现不同背景、颜色、边框。 使用Shape可以自定义形状,可以定义下面四种类型的形状,通过android:shape属性指定: rectangle:矩形,...

weixin_30878501的博客 215

整理:Drawable基础知识总结

之前跟着一个帖子学习的(把帖子的链接给弄丢了(╥╯^╰╥) o(╥﹏╥)o 无奈,本打算在回顾的时候看的),drawable的基础使用方法,也具体实践了一番,觉得效果挺好的,特此记录一下。

芒果蜜桃π 417

xmlzhnghzhiwenzi

一。网络资源案例(关于selector用法):android背景选择器selector用法汇总(2011-04-19 13:40:00) 1.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 android:drawable="@drawable/pic1" />

zhangzhizhao123的博客 229

Android中级——屏幕和绘图

Android通过VSYNC信号刷新View进行屏幕的重绘,时间间隔为16ms,若在需要频繁刷新的界面上执行太多的操作逻辑,则容易阻塞主线程,造成画面卡顿。先将图片翻转,再添加黑色透明度递减的渐变,DST_IN是为了避免上面的图像被渐变效果遮挡。如下实现圆角图形,mOut为先画的图像,mBitmap为后画的图像,用SrcIn取交集。如下代码设置透明的画笔,实时获取坐标调用drawPath()涂抹上面的图层,实现刮刮乐。,dst是先画的图形,而src是后画的图形,共有16种模式,如图。

松仔Log的博客 867

android layer-list 透明,Android 开发: shape 和 selector 和 layer-list 的 (详细说明)

Android 开发: shape 和 selector 和 layer-list 的 (详细说明) Android:shape=["rectangle" | "oval" | "line" | "ring"]其中 rectagle 矩形, oval 椭圆, line 水平直线, ring 环形中子节点的常用属性:渐变 Android:startColor起始颜色Android:endColor...

weixin_31975689的博客 623

Android之用layer-list,shape,selector画各种背景

1.Shape   简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法:   Java代码中:R.drawable.fileName XML中:android:background="@drawable/fileName"  或:android:src="@drawable/fileName"   属性   android:s

柳絮、 5767
上一篇: Android tablayout+fragment
下一篇: Java中类的加载过程
Look19
博客等级 码龄10年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值