使点击Recycleview项目时更具交互性

huangapple go评论96阅读模式
英文:

Make Recycleview item when clicked more interactive

问题

我在Gmail中有一个问题,当点击其中一封电子邮件时,会显示这个动画。

如何将这个动画添加到我的RecyclerView,并使我的应用程序更具交互性?

英文:

i have a question in gmail when one of the email is clicked it shows this animation使点击Recycleview项目时更具交互性

How can i add this to my recyclerview and make my app more interactive ??

答案1

得分: 1

你必须为每一行都有一个布局,你可以将以下内容添加到父布局中:

android:clickable="true"
android:focusable="true"
android:background="?android:attr/selectableItemBackground"

例如:

Application_row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/applicationLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="10dp"
    android:gravity="center_vertical"
    android:clickable="true"
    android:focusable="true"
    android:background="?android:attr/selectableItemBackground">

    <ImageView
        android:id="@+id/applicationIcon"
        android:layout_width="50dp"
        android:layout_height="50dp"/>

    <TextView
        android:id="@+id/applicationName"
        android:layout_width="wrap_content"
        android:layout_margin="15dp"
        android:layout_height="wrap_content"
        android:text="应用名称"
        android:textSize="20sp"/>

</LinearLayout>

这将使得用户触摸行时会有一个动画效果。
英文:

You must have a layout you use fo each row, in this file, you can add to the parent layout

    android:clickable=&quot;true&quot;
    android:focusable=&quot;true&quot;
    android:background=&quot;?android:attr/selectableItemBackground&quot;

For example:

Application_row.xml

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;LinearLayout
    android:id=&quot;@+id/applicationLayout&quot;
    xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;wrap_content&quot;
    android:orientation=&quot;horizontal&quot;
    android:padding=&quot;10dp&quot;
    android:gravity=&quot;center_vertical&quot;
    android:clickable=&quot;true&quot;
    android:focusable=&quot;true&quot;
    android:background=&quot;?android:attr/selectableItemBackground&quot;&gt;

    &lt;ImageView
        android:id=&quot;@+id/applicationIcon&quot;
        android:layout_width=&quot;50dp&quot;
        android:layout_height=&quot;50dp&quot;/&gt;

    &lt;TextView
        android:id=&quot;@+id/applicationName&quot;
        android:layout_width=&quot;wrap_content&quot;
        android:layout_margin=&quot;15dp&quot;
        android:layout_height=&quot;wrap_content&quot;
        android:text=&quot;Application name&quot;
        android:textSize=&quot;20sp&quot;/&gt;

&lt;/LinearLayout&gt;

This will make the row have an animation when the user will touch it.

huangapple
  • 本文由 发表于 2020年10月26日 02:24:23
  • 转载请务必保留本文链接:https://go.coder-hub.com/64527249.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定