将Ripple效果添加到棒棒糖和棒棒糖前的循环器列表视图中

时间:2016-08-19 10:08:27

标签: android android-layout android-recyclerview recycler-adapter

我正在尝试将Ripple Effect添加到RecyclerView的项目中。我在网上看了一下,但找不到我需要的东西。我已经尝试了android:background属性到RecyclerView本身,并将其设置为“?android:attr / selectableItemBackground”,但它没有用。

我的适配器模板就像这样

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:background="?android:attr/selectableItemBackground"
    xmlns:custom="http://schemas.android.com/apk/res-auto">


    <LinearLayout
        android:id="@+id/anLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:weightSum="4">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="3">

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

            <com.kahoindia.dev.customclasses.KaHOTextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:singleLine="true"
                style="@style/kaho_listview_label_heading"
                android:id="@+id/txtTitle"
                custom:CustomTextViewFont="@string/kaho_segoeui_semi_light_font"/>

            </LinearLayout>

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


            <com.kahoindia.dev.customclasses.KaHOTextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ellipsize="marquee"
                android:maxLines="2"
                android:id="@+id/txtDetail"
                style="@style/kaho_content_small_textview_style"
                custom:CustomTextViewFont="@string/kaho_segoeui_regular_font"/>

             </LinearLayout>

        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginTop="7dp"
            android:layout_gravity="center"
            android:gravity="right">

            <com.kahoindia.dev.customclasses.KaHOTextView
                android:id="@+id/txtDate"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                style="@style/kaho_content_small_textview_style"
                custom:CustomTextViewFont="@string/kaho_segoeui_regular_font"
                />

        </LinearLayout>
        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/progressBar"
            android:indeterminate="true"
            android:visibility="gone"
            style="@android:style/Widget.Holo.ProgressBar"
            android:layout_gravity="center_horizontal"/>
    </LinearLayout>

</LinearLayout>

请帮帮我

2 个答案:

答案 0 :(得分:1)

使用此库可为棒棒糖和棒棒糖前版本提供支持。有关实施的更好理解,请参见以下链接。

https://github.com/traex/RippleEffect

编译此库的行

dependencies {
compile 'com.github.traex.rippleeffect:library:1.3'
}

答案 1 :(得分:0)

在drawable文件夹中添加新的xml文件,如命名为&#34; ripple_effect&#34;用:

 <?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/ripple_color">
    <item android:id="@android:id/mask">
        <shape android:shape="oval">
            <solid android:color="@color/button_background_color" />
        </shape>
    </item>
</ripple>

你可以在xml中实现这个,比如项目的背景或者像setResourceBackground这样的你也可以使用标准的android实现:

android:background="?attr/selectableItemBackground"