
在iOS上我会做这样的事情:
myImageVIEw.layer.shadowcolor = [UIcolor redcolor].CGcolor;myImageVIEw.layer.shadowRadius = 5;myImageVIEw.layer.shadowOffset = CGRectMake(0,5);
无论是否在视图,图像或文本上应用阴影,它都会渲染阴影.
我试图在AndroID上做同样的事情,但它只是拒绝工作:
birdImageVIEw = new ImageVIEw(context);birdImageVIEw.setimageResource(R.drawable.yellow_bird);Paint paint = new Paint();paint.setAntiAlias(true);birdImageVIEw.setLayerType(LAYER_TYPE_SOFTWARE,null);paint.setShadowLayer(5,5,color.argb(255,255,0));birdImageVIEw.setLayerPaint(paint);
我的鸟图像上根本没有看到任何预期的红色阴影.
难道我做错了什么?
例
假设我想要这样的投影:
更新
我是否必须使用AndroID 5.0和新的Elevation API(http://developer.android.com/training/material/shadows-clipping.html)?
但如果要使用新的API,那么根据当前的人口统计数据(http://www.droid-life.com/2016/02/02/android-distribution-february-2016/),超过50%的用户将无法使用该应用.
T_T
解决方法 在androID studio中有build drawable,你可以使用它来将阴影应用到任何VIEw.这类似于投影.androID:background="@drawable/abc_menu_dropdown_panel_holo_light"
使用此功能,您无法更改视图的背景颜色.它的边框颜色.如果您想要自己的自定义drawable,请使用@R_993_3419@
custom_drop_shadow_drawable.xml
<?xml version="1.0" enCoding="utf-8"?><@R_993_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!--the shadow comes from here--> <item androID:bottom="0dp" androID:drawable="@androID:drawable/dialog_holo_light_frame" androID:left="0dp" androID:right="0dp" androID:top="0dp"> </item> <item androID:bottom="0dp" androID:left="0dp" androID:right="0dp" androID:top="0dp"> <!--whatever you want in the background,here i preferred solID white --> <shape androID:shape="rectangle"> <solID androID:color="@androID:color/red" /> </shape> </item></@R_993_3419@>
and apply to your vIEw like below
androID:background="@drawable/custom_drop_shadow_drawable"
希望它能帮到你!
谢谢Android View shadow
以上是内存溢出为你收集整理的Android ImageView投影全部内容,希望文章能够帮你解决Android ImageView投影所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)