我如何才能提升 ListView 项目?
How would I get a ListView Item to be elevated?
我正在尝试获取它,以便提升我的列表视图项并显示阴影。
Here is my list view item layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:translationZ="5dp"
android:cropToPadding="false">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView4"
android:background="@color/background_white"
android:layout_alignBottom="@+id/PostUpvote"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:translationZ="2dp"
/>
and here is my ListView layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_gravity="center_horizontal"
android:background="@color/background_white"
android:dividerHeight="10sp"
android:translationZ="2dp"/>
如有任何帮助,我们将不胜感激。
如果您的目标是版本 21,您可以使用
android:elevation="10dp"
如果没有,那么您可能需要在可绘制对象中自己创建投影效果。例如,这个在右侧和底部创建阴影。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Adding border layers simulating drop shadow -->
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#00494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#10494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#20494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#30494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
<solid android:color="#70494949" />
</shape>
</item>
<item>
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
将其保存为 my_drop_shadow.xml
并在具有 android:background="@drawable/my_drop_shadow"
的任何视图中使用
您可以通过更改填充值来调整阴影方向,并通过控制透明度来添加高程效果。
我正在尝试获取它,以便提升我的列表视图项并显示阴影。
Here is my list view item layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:translationZ="5dp"
android:cropToPadding="false">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView4"
android:background="@color/background_white"
android:layout_alignBottom="@+id/PostUpvote"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:translationZ="2dp"
/>
and here is my ListView layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_gravity="center_horizontal"
android:background="@color/background_white"
android:dividerHeight="10sp"
android:translationZ="2dp"/>
如有任何帮助,我们将不胜感激。
如果您的目标是版本 21,您可以使用
android:elevation="10dp"
如果没有,那么您可能需要在可绘制对象中自己创建投影效果。例如,这个在右侧和底部创建阴影。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Adding border layers simulating drop shadow -->
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#00494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#10494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#20494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="0dp" android:right="1dp" android:bottom="1dp" android:left="0dp" />
<solid android:color="#30494949" />
</shape>
</item>
<item>
<shape>
<padding android:top="1dp" android:right="1dp" android:bottom="1dp" android:left="1dp" />
<solid android:color="#70494949" />
</shape>
</item>
<item>
<shape>
<solid android:color="@android:color/white" />
</shape>
</item>
将其保存为 my_drop_shadow.xml
并在具有 android:background="@drawable/my_drop_shadow"
您可以通过更改填充值来调整阴影方向,并通过控制透明度来添加高程效果。