Kar*_*hik 26 android imageview android-elevation
ImageView的高程不起作用.我在XML中声明了ImageView,如下所示:
<ImageView
android:id="@+id/image"
android:layout_width="100dp"
android:layout_height="50dp"
android:elevation="10dp"
android:src="@drawable/youtube" />
Run Code Online (Sandbox Code Playgroud)
我还应该做些什么来提升ImageView的正常工作?
Bla*_*der 27
高程阴影源自View的背景可绘制.如果您的ImageView没有背景,您将看不到阴影.
如果你想改变那种行为,你需要建立自己的行为ViewOutlineProvider并调用View.setOutlineProvider()它来设置它(这不是一件容易的事).
Tar*_*run 15
为了显示带有高程属性的 SHADOW 的圆形图像,我创建了一个圆形的可绘制的 WITHOUT SHADOW ,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="oval">
<solid android:color="@android:color/white" />
</shape>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
在你的 ImageView 中使用这个 drawable 作为背景,如下所示:
<ImageView
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/round_shape"
android:elevation="5dp"
android:src="@drawable/center" />
Run Code Online (Sandbox Code Playgroud)
这将显示带有阴影的 ImageView。
您可能会想到的一个问题是为什么要使用 xml drawable。正如其他开发人员在对这个问题的各种答案中提到的那样,阴影是由背景和带边框的背景形成的,更具体。Xml drawable 帮助我们创建一个带边框的背景,高程属性可以从中创建阴影。
适用于所有最新版本
使用CardView作为父布局.使用android:background="@drawable/your_img",而不是android:src="@drawable/your_img"在ImageView的.
<android.support.v7.widget.CardView
android:layout_gravity="center_horizontal"
app:cardElevation="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:background="@drawable/your_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null" />
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22937 次 |
| 最近记录: |