- 思路:
在自定义shape中增加一层或多层,并错开,即可显示阴影效果。为增加立体感,按钮按下的时候,只设置一层。我们可以通过top, bottom, right 和 left 四个参数来控制阴影的方向和大小。
关系图
以下自定义两种阴影效果:
res/drawable-hdpi/shadow1.xml
01.
<?xml
version="1.0"
encoding=
"utf-8"
?>
02.
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
03.
<item
04.
android:state_pressed=
"true"
>
05.
<layer-list>
06.
<item
android:left="4dp"
android:top=
"4dp"
><shape>
07.
<solid
android:color="#ff58bb52"
/>
08.
<corners
android:radius="30dip"
/>
09.
</shape></item>
10.
</layer-list>
11.
</item>
12.
<item>
13.
<layer-list>
14.
<!--
第一层 -->15.
<item
android:left="4dp"
android:top=
"4dp"
><shape>
16.
<solid
android:color="#66000000"
/>
17.
<corners
android:radius="30dip"
/>
18.
<!--
描边 -->19.
<stroke
android:width="1dp"
android:color=
"#ffffffff"
/>
20.
</shape></item>
21.
<!--
第二层 -->22.
<item
android:bottom="4dp"
android:right=
"4dp"
><shape>
23.
<solid
android:color="#ff58bb52"
/>
24.
<corners
android:radius="30dip"
/>
25.
<!--
描边 -->26.
<stroke
android:width="1dp"
android:color=
"#ffffffff"
/>
27.
</shape></item>
28.
</layer-list></item>
29.
</selector>
/TestAA/res/drawable-hdpi/shadow2.xml
01.
<?xml
version="1.0"
encoding=
"utf-8"
?>
02.
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
03.
<!--
点击之后 -->04.
<item
android:state_pressed="true"
>
05.
<layer-list>
06.
<item
07.
android:left=
"4dp"
08.
android:top=
"4dp"
>
09.
<shape>
10.
<solid
11.
android:color=
"#ff58bb52"
/>
12.
<corners
13.
android:radius=
"3dp"
/>
14.
</shape>
15.
</item>
16.
</layer-list></item>
17.
<!--
正常状态 -->18.
<item>
19.
<layer-list>
20.
<!--
第一层 -->21.
<item
22.
android:left=
"2dp"
23.
android:top=
"2dp"
>
24.
<shape>
25.
<solid
26.
android:color=
"#66000000"
/>
27.
<corners
28.
android:radius=
"3dp"
/>
29.
</shape>
30.
</item>
31.
<!--
第二层 -->32.
<item
33.
android:bottom=
"4dp"
34.
android:right=
"4dp"
>
35.
<shape>
36.
<solid
37.
android:color=
"#ff58bb52"
/>
38.
<corners
39.
android:radius=
"3dp"
/>
40.
</shape>
41.
</item>
42.
<!--
第三层 -->43.
<item
44.
android:bottom=
"6dp"
45.
android:right=
"6dp"
>
46.
<shape>
47.
<solid
48.
android:color=
"#ffcccccc"
/>
49.
<corners
50.
android:radius=
"3dp"
/>
51.
</shape>
52.
</item>
53.
</layer-list>
54.
</item>
55.
</selector>
效果图:
Android中图型的阴影效果(shadow-effect-with-custom-shapes)
时间: 2024-12-03 09:33:52
Android中图型的阴影效果(shadow-effect-with-custom-shapes)的相关文章
Android中GIF动图的播放控制和监听详解
前言 最近接手的项目里涉及到了 GIF 动图的播放与监听,在上一版本中对于 GIF 的处理是由 H5 来实现的,因为考虑到用户体验,因此现在的需求是将这块儿原生化,途中差点误入歧途!下面来看看详细的介绍吧. Android 中 GIF 动图处理与监听 刚开始第一个想到的便是 glide , 但是自认为 glide 不能够控制 GIF 以及去监听它,所以网上去搜寻别的方法.看到有一个方案是将图片分帧,一张张的去用逐帧动画来实现. 我开始怀疑给这个解决方案的人了,都什么时代了还做这种费力不讨好,大量
android中不同包下的Camera有什么不一样 如图所示
问题描述 android中不同包下的Camera有什么不一样 如图所示 android中不同包下的Camera有什么不一样 如图所示 解决方案 一个可以绘制类似三维动画的,一个是相机拍照用的 解决方案二:
求方向和思路!android中实现图中左右滑动划分
问题描述 求方向和思路!android中实现图中左右滑动划分 类似于"探探APP"中那样,这是怎么实现的,我不知道准确方向和思路,也不知道用到哪些技术,还望大牛指点,我的理解是:自定义组件+帧布局: 解决方案 Android实现左右滑动滑屏的功能
android java-android开发中int型的颜色值转化为string
问题描述 android开发中int型的颜色值转化为string int color = Color.成YELLOW;如何把color转化为#20540形式?
图-android中写文件的 问题
问题描述 android中写文件的 问题 如图这是什么错误呢 解决方案 文件路径问题,还有类名没有找到
代码-Android中GridView中当我删除某一个图片时图片缓存清空,图片位置上显示背景图
问题描述 Android中GridView中当我删除某一个图片时图片缓存清空,图片位置上显示背景图 请问如何实现我是新手,最好有个详细的代码给我做个参考谢谢大家 解决方案 把数据源中的图像连接去掉,然后notify,getview中判断,如果图像连接没有,就显示默认图片 解决方案二: 那么怎么清除数据源那,我是个新手对代码还不是很熟 解决方案三: 删除后,手动把背景图设置上去-- 解决方案四: 谁能写个代码例子给我参考一下,只是告诉我方式我不知道改怎么做.谢谢大家了 解决方案五: 你重新吧背景图
求伯君-大神帮忙android中的布局 如图中的样式
问题描述 大神帮忙android中的布局 如图中的样式 求大神给帮忙摆一个这样的布局 解决方案 用webview做一个网页就是了 解决方案二: android样式布局 解决方案三: 用relativelayout很简单的,设定好每个组件的上下左右即可
Android编程使用自定义shape实现shadow阴影效果的方法_Android
本文实例讲述了Android编程使用自定义shape实现shadow阴影效果的方法.分享给大家供大家参考,具体如下: 直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_p
Android编程使用自定义shape实现shadow阴影效果的方法
本文实例讲述了Android编程使用自定义shape实现shadow阴影效果的方法.分享给大家供大家参考,具体如下: 直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_p