Android 控件设置阴影效果

发布时间 - 2026-01-11 03:21:37    点击率:

本文主要记录Android控件设置阴影

  • 给控件设置阴影,会使得界面元素更好看一写,google 给我们提供了一个现成的控CardView,可以将CardView看做是FrameLayout在自身之上添加了圆角和阴影效果
  • 本文是使用给控件设置背景实现阴影
  • 在res/drawable 下新建一个 Drawable Resource File
  • 使用 layer-list 图层 就是说可以多个图层一层一层盖上去
  • 新建一个渐变的图层 item作为背景图层,主要是 gradient,shape是用来定义形状的,corners设置角度,gradient定义该形状里面为渐变色填充,startColor起始颜色,endColor结束颜色,angle表示方向角度。当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上
<item >
 <shape android:shape="rectangle" >
 <gradient
  android:angle="90"
  android:endColor="#dad9d9"
  android:startColor="#03a430" />
 <corners android:radius="10dp" />
 </shape>
 </item>

新建一个图层,作为顶层图层, 阴影实现的原理,就是顶层的小显示一点,露出一部分下面的图层,这个就需要设置Item的 left, top, right, bottom属性,这几个参数的设置就类似于设置margin, 这样就可以出来阴影效果了,当然为了效果,我的参数设置的有点夸张,只设置了右边和下边的阴影,solid 设置填充, 还有stroke 设置边框,设置了颜色,设置了宽度就可以看见边框效果了

<item >
 <shape android:shape="rectangle" >
 <gradient
  android:angle="90"
  android:endColor="#dad9d9"
  android:startColor="#03a430" />

 <corners android:radius="10dp" />
 </shape>
</item>
<item android:right="20dp"
 android:bottom="40dp">
 <shape android:shape="rectangle" >
 <solid android:color="#FFFFFF"/>
 <corners android:radius="10dp" />
 </shape>
</item>

顶层的图层上,还是可以添加触摸的变化效果,即手指触碰到该控件时,控件背景色变化

<item
 android:right="2dp"
 android:bottom="6dp">
 <selector>
  <item android:state_focused="false" android:state_pressed="true" >
  <shape android:shape="rectangle" >
   <solid android:color="@color/E5"/>
   <corners android:radius="10dp" />
  </shape>
  </item>
  <item>
  <shape android:shape="rectangle" >
   <solid android:color="@color/white"/>
   <corners android:radius="10dp" />
  </shape>
  </item>
 </selector>
 </item>

使用:android:background=”@drawable/你的阴影xml文件”

<LinearLayout
 android:layout_width="match_parent"
 android:layout_height="50dp"
 android:background="@drawable/vcam_entry_border"
 android:gravity="center"
 android:orientation="vertical">
 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:paddingRight="@dimen/common_measure_10dp"
 android:textColor="@color/black_100"
 android:text="啦啦啦啦,我有阴影"/>
</LinearLayout>

附 : 完整的阴影xml 代码

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
 <!-- 阴影部分 最下面一层 -->
 <item >
 <shape android:shape="rectangle" >
  <gradient
  android:angle="90"
  android:endColor="#777777"
  android:startColor="#C5C5C5" />
  <corners android:radius="10dp" />
 </shape>
 </item>
 <!-- 背景部分 -->
 <!-- 形象的表达:bottom left ... 类似于设置 margin -->
 <item
 android:right="2dp"
 android:bottom="6dp">
 <selector>
  <item android:state_focused="false" android:state_pressed="true" >
  <shape android:shape="rectangle" >
   <solid android:color="@color/E5"/>
   <corners android:radius="10dp" />
  </shape>
  </item>
  <item>
  <shape android:shape="rectangle" >
   <solid android:color="@color/white"/>
   <corners android:radius="10dp" />
  </shape>
  </item>
 </selector>
 </item>
</layer-list>

总结

以上所述是小编给大家介绍的Android 控件设置阴影效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 控件设置阴影  # Android自定义View之自定义评价打分控件RatingBar实现自定义星星大小和间距  # Android中让图片自适应控件的大小的方法  # android 设置控件的颜色字体的方法  # Android动态添加设置布局与控件的方法  # Android中ImageView.src设置图片拉伸、填满控件的方法  # Android设置控件阴影的三种方法  # android 添加随意拖动的桌面悬浮窗口  # Android弹出窗口实现方法  # Android自定义弹出窗口PopupWindow使用技巧  # Android编程处理窗口控件大小  # 形状  # 像素等UI元素工具类  # 图层  # 新建一个  # 类似于  # 小编  # 就可以  # 啦啦  # 多个  # 渐变色  # 在此  # 我有  # 给我们  # 是从  # 给大家  # 这几个  # 往上  # 所述  # 给我留言  # 感谢大家  # 到该  # 触碰 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  网站优化排名时,需要考虑哪些问题呢?  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何用低价快速搭建高质量网站?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  jQuery中的100个技巧汇总  在线制作视频的网站有哪些,电脑如何制作视频短片?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel如何使用Gate和Policy进行授权?(权限控制)  Laravel如何实现一对一模型关联?(Eloquent示例)  简历没回改:利用AI润色让你的文字更专业  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  详解Android图表 MPAndroidChart折线图  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  开心动漫网站制作软件下载,十分开心动画为何停播?  如何用花生壳三步快速搭建专属网站?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  iOS中将个别页面强制横屏其他页面竖屏  如何为不同团队 ID 动态生成多个独立按钮  如何获取PHP WAP自助建站系统源码?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Android实现代码画虚线边框背景效果  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  如何在 Pandas 中基于一列条件计算另一列的分组均值  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  微信小程序 require机制详解及实例代码  Laravel如何处理文件下载请求?(Response示例)  北京企业网站设计制作公司,北京铁路集团官方网站?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  如何在万网ECS上快速搭建专属网站?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何在建站主机中优化服务器配置?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel如何为API编写文档_Laravel API文档生成与维护方法  如何快速搭建安全的FTP站点?  Laravel如何使用查询构建器?(Query Builder高级用法)  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Android GridView 滑动条设置一直显示状态(推荐)  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南