我如何获得要提升的ListView项?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何获得要提升的ListView项?相关的知识,希望对你有一定的参考价值。

我试图得到它所以我的listview项目被提升并显示一个投影。

这是我的列表视图项布局

<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"

     />

这是我的ListView布局

<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"

如果没有,那么您可能需要在drawable中自己创建阴影效果。例如,这个在右侧和底侧创建阴影。

<?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"

您可以通过更改填充值来调整阴影方向,并通过控制透明度来添加高程效果。

以上是关于我如何获得要提升的ListView项?的主要内容,如果未能解决你的问题,请参考以下文章

方向/配置更改后如何维护 ListView 片段状态?

按下后退按钮时正在重新创建 Listview 片段

不要在片段中显示列表视图项

Fragment的ListView项接口定义中的按钮?

片段内 Listview 中动态视图的 onClick 侦听器

片段中的ListView不显示