使用涟漪效应库时,请勿在recyclerview上触摸反馈

时间:2015-01-29 14:26:17

标签: android xml android-layout material-design

这是我的主要xml文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/view"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <include
        android:id="@+id/tool_bar"
        layout="@layout/tool_bar"></include>

    <android.support.v4.widget.DrawerLayout
        android:layout_below="@+id/tool_bar"
        android:id="@+id/DrawerLayout"
        android:elevation="7sp"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tool_bar"
            android:text="@string/hello_world" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/RecycleView"
            android:layout_width="288dp"
            android:background="#ffffff"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:scrollbars="vertical"
            android:focusable="true"
            android:clickable="true">

        </android.support.v7.widget.RecyclerView>
    </android.support.v4.widget.DrawerLayout>
</RelativeLayout>

这是我的item_row.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:paddingTop="8dp"
    android:paddingBottom="8dp"
    android:layout_height="wrap_content"
    android:background="#ffffff"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rowIcon"
        android:paddingLeft="16dp"
        android:src="@drawable/ic_launcher"/>
    <com.balysv.materialripple.MaterialRippleLayout
        android:id="@+id/ripple"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="12dp"
        android:paddingTop="4dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Medium Text"
        android:id="@+id/rowText" />
    </com.balysv.materialripple.MaterialRippleLayout>
</LinearLayout>

我正在使用图片库https://github.com/balysv/material-ripple

当我没有使用该库时,点击工作正常,但在使用该库时,我没有收到任何触摸反馈。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

尝试使用 MaterialRippleLayout 打包 item_row.xml 。基本上将其设置为您的父布局以接收来自用户的点击。试试这个:

<?xml version="1.0" encoding="utf-8"?>
<com.balysv.materialripple.MaterialRippleLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:id="@+id/ripple"
   android:paddingTop="8dp"
   android:paddingBottom="8dp"
   android:background="#ffffff"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   app:mrl_rippleColor="#80000000"
   app:mrl_rippleOverlay="true">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/rowIcon"
    android:paddingLeft="16dp"
    android:src="@drawable/ic_launcher"/>

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="12dp"
    android:paddingTop="4dp"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="Medium Text"
    android:id="@+id/rowText" />

</LinearLayout>
</com.balysv.materialripple.MaterialRippleLayout>