怎么为android控件安卓图片边缘添加阴影影

在控件下方添加阴影_iOS开发_动态网站制作指南
在控件下方添加阴影
来源:人气:125
在控件下方添加阴影
最近在开发过程中,想要实现一种效果,效果如图(图来源stackoverflow):
在tablayout下添加一道阴影,由于一些特殊的原因不能使用elevation属性来实现相应的阴影效果。于是上网搜索如何制作该种效果。
制作相应的背景图片
其实连制作都不需要我们自己动手,因为早有谷歌帮助了我们制作了相应的图片,放上链接
/google/iosched/blob/dfaf8b83ad1b3e7c8d1af0b08d59caf/android/src/main/res/drawable-xxhdpi/bottom_shadow.9.png
然后我们在相应的控件上相应的属性,这里建议使用foreground属性,因为如若你的控件内还有其他子控件,使用foreground就不会将阴影画在他们身上(如果你需要这种效果,那当我没说)。
有图片的方法,当然也有我们自己制作相应的xml了,首先创建一个drawable名为 shadow.xml
&?xml version="1.0" encoding="utf-8"?&
&shape xmlns:android="/apk/res/android"&
android:startColor="@android:color/transparent"
android:endColor="#"
android:angle="90"&
&/gradient&
然后将阴影添加到你的内容结构中,但不是你想的那样设置在某个属性中,应该 像这样:
&RelativeLayout xmlns:android="/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"&
&!-- 你的View放在这里 --&
android:layout_width="match_parent"
android:layout_height="8dp"
android:background="@drawable/shadow" /&
&/RelativeLayout&
两种方法兼容性也是杠杠的,大家自由选择。
优质网站模板3016人阅读
工作实战笔记(13)
所谓添加阴影,就是两个画布从重叠,上方的画布小于下方的画布,阴影颜色为下方的画布的颜色。
item 中shape 的属性 (rectangle:矩形;line:线性;oval:椭圆;ring:环形),默认为矩形
&& &&&&//设置圆角幅度,必须是在shape=rectangle的时候,corners才有效&&&
&&&&&&&&&&&&&&&&&&&&&&&& android:radius=&dimension&&&&&&&//全部的圆角半径&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&& android:topLeftRadius=&dimension&&&&//左上角的圆角半径&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&& android:topRightRadius=&dimension&&&//右上角的圆角半径&&&
&&&&&&&&&&&&&&&&&&&&&&&& android:bottomLeftRadius=&dimension&&&&&//左下角的圆角半径
&&&&&&&&&&&&&&&&&&&&&&& android:bottomRightRadius=&dimension&&&&&&//右下角的圆角半径
&&&&&&&&&& eg:&corners android:radius=&10dp& /&
&& solid用以指定内部填充色
&&&&&&&& e.g:&&android:color=&color&&
&& gradient& //定义渐变色,可以定义两色渐变和三色渐变,及渐变样式
&&&&&&&&& linear(线性渐变)、radial(放射性渐变)、sweep(扫描式渐变), 在构造放射性渐变时,要加上android:gradientRadius属性(渐变半径),即必须指定渐变半径的大小才会起作用。
&&&&&&&&&&&&&&&&&&&&&&&&&& 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时才有渐变效果&&&
&& stroke&& //这是描边属性,可以定义描边的宽度,颜色,虚实线等
&&&&&&&&&&
&&&&&&&&&&&&&&&&& android:width=&dimension&&&&//描边的宽度&&&&&
&&&&&&&&&&&&&&&&& android:color=&color&&&&//描边的颜色&&&
//&以下两个属性设置虚线&&&
&&&&&&&&&&&&&&&&& android:dashWidth=&dimension&&&&//虚线的宽度,值为0时是实线&&
&&&&&&&&&&&&&&&&& android:dashGap=&dimension&&&&&&&&//虚线的间隔&&
在Eclipse工程文件下的drawable文件下,新建shape_background_shadow_normal.xml文件。&&&
&layer-list xmlns:android=&/apk/res/android& &
&&& &!-- Bottom 2dp Shadow :底部阴影层--&
&&& &item&
&&&&&&& &shape android:shape=&rectangle& &
&&&&&&&&&&& &solid android:color=&#BBB& /&
&&&&&&&&&&& &corners android:radius=&10dp& /&
&&&&&&& &/shape&
&&& &/item&
&&& &!-- White Top color:顶部层 --&
&&&&&&& android:bottom=&4px&
&&&&&&& android:left=&2px&
&&&&&&& android:right=&3px&
&&&&&&& android:top=&2px&&
&&&&&&& &shape android:shape=&rectangle& &
&&&&&&&&&&& &solid android:color=&@color/white& /&
&&&&&&&&&&& &corners android:radius=&10dp& /&
&&&&&&&&&&& &padding
&&&&&&&&&&&&&&& android:bottom=&15dp&
&&&&&&&&&&&&&&& android:left=&15dp&
&&&&&&&&&&&&&&& android:right=&15dp&
&&&&&&&&&&&&&&& android:top=&15dp& /&
&&&&&&&&&&& &!--设置边框 宽度=1px,颜色为skyBluesss--&
&&&&&&&&&&& &stroke
&&&&&&&&&&&&&&& android:width=&1px&
&&&&&&&&&&&&&&& android:color=&@color/skyblue& /&
&&&&&&&&&&
&&&&&&& &/shape&
&&& &/item&
&/layer-list&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4533次
排名:千里之外
原创:15篇
(3)(5)(3)(1)(1)(2)(1)以下是通过XML定义的方式实现,如果需要通过代码实现,找到对应是set方式设置即可。
去除ListView滑到顶部和底部时边缘的黑色阴影:
android:fadingEdge="none"
android:fadingEdge="none"
去除拖动时默认的黑色背景:
android:cacheColorHint="#"
android:cacheColorHint="#"
去除选中时的黄色底色:
android:listSelector="#"
android:listSelector="#"
去除行与行之间的黑线:
list.setDivider(null);
list.setDivider(null);
ListView刷新后自动滚到最底部:
list.setSelection(msgList.getAdapter().getCount()-1);
list.setSelection(msgList.getAdapter().getCount()-1);
阅读(...) 评论()}

我要回帖

更多关于 android view边缘阴影 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信