[英]Android: shadow of Image in ImageView
我正在开发简单的图库应用程序。 有带有缩略图的HorizontalView。 通过单击缩略图,将打开一个新活动。 这是布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/expanded_image_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/expanded_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_marginTop="20dip"
android:layout_marginBottom="20dip"
/>
</FrameLayout>
因此,ImageView的目的是按比例拉伸所选图像以适合整个屏幕。
我的问题是是否有一种方法可以为图像绘制阴影(不适用于ImageView-我可以使用android:background =“ @ android:drawable / dialog_holo_light_frame”,但ImageView匹配父容器)? 动态设置图像(通过setImageResource)。 他们有不同的大小。
预先感谢您的帮助!
为了获得想要的效果,您需要解决两个问题:
对于1.,请使用ImageView并:
setImageResource()
对于2.,您可以使用:
关于第二点,请参阅此视频 。
编辑 :这个答案是我对原始答案的补充。 请特别参阅链接的图像 。
图像阴影是两种类型的1法线阴影。 2滴阴影
对于这两种情况,您都有两种解决方案,例如将阴影使用1次使用的9补丁图像将其设置为该图像的背景。 2用渐变背景图像...
为了澄清一下:从一开始我就使用9补丁图像方法(实际上,标准的Android图像dialog_holo_light_frame设置为背景)。 但是我遇到了以下问题:ImageLayout是通过layout_width =“ match_parent”和android:layout_height =“ match_parent”来拉伸的(以按比例拉伸显示的图像),因此阴影是从容器而不是从图像本身掉落的。
通过为ImageView设置android:adjustViewBounds =“ true”,然后通过动态更改ImageView来解决此问题:
机器人:layout_width = “WRAP_CONTENT”
机器人:layout_height = “match_parent”
机器人:layout_width = “match_parent”
机器人:layout_height = “WRAP_CONTENT”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.