我有一个RecyclerView
,它扩展了以下网格项:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/children_tile_border"
android:layout_marginTop="@dimen/children_tile_border"
android:clickable="true"
android:focusable="true"
android:background="?selectableItemBackground"
tools:ignore="RtlHardcoded">
<com.example.app.ui.widget.SquareImageView
android:id="@+id/child_picture"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="visible"
android:layout_alignParentBottom="true"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="68dp"
android:background="@color/tile_text_background"
android:gravity="center_vertical"
android:layout_alignParentBottom="true">
..............
</LinearLayout>
</RelativeLayout>
但是涟漪效应不会出现,除非我将SquareImageView的
可见性设置为不可见。似乎涟漪效应是在SquareImageView
下方绘制的。如何在SquareImageView
上绘制?
我们可以将RecyclerView项包装在FrameLayout
中,并将android:foreground
属性设置为它。查看以下链接以了解详细信息。这对我很管用。
更改:
android:background="?selectableItemBackground"
致:
android:background="?android:attr/selectableItemBackground"
并将其添加到您的SquareImageView
android:clickable="false"
将以下代码添加到父布局
android:clickable="true"
android:focusable="true"
android:background="?attr/selectableItemBackground"
如果你想自定义涟漪效果添加这个ripple_custom.xml在你的绘图v21
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorHighlight">
<item
android:id="@android:id/mask"
android:drawable="@color/windowBackground" />
</ripple>
要支持旧版本,请添加ripple\u自定义。可绘制的xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/colorHighlight" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
</selector>
我正在尝试将涟漪效果添加到RecyclerView的项目中。我上网看了一下,但找不到我需要的东西。我想这应该是一个自定义效果。我尝试了rodroid:background属性到RecyclerView本身,并将其设置为“?android:selectableitembackground”,但它不起作用。: 这是我试图添加效果的RecyclerView:
我正在使用及其项目作为。我将卡片视图的背景设置为。 我尝试设置,尝试将作为父级并设置其背景等,但都不起作用。 为什么会有这种行为? 编辑:CardView有一个可用的onClickListener。 编辑2:我添加了一个作为的父级。并使其可点击并为其提供可选择的项目背景。仍然没有波纹。 编辑3:我发布了我的确切布局代码结构。我没有提到数据绑定部分。但我希望这不会阻止涟漪。
我想在我的应用程序中使用水波涟漪效果,这种效果会在触摸区域反复出现,我已经访问了站点中可用的示例代码,但涟漪似乎被像素化了。 谁能帮我,实现活水涟漪效应?。我发现很难实施它。
我一直在为Lollipop(API 21)开发一个应用程序。 XML:
好的,所以我知道涟漪效应是唯一可用的Lollipop和以上。但是,当设置ImageButton时,我仍然无法获得像“常规”按钮一样的涟漪效果,只显示一个图像(和透明bg)。。。 我添加了AppCompat v7,并将第二个布局放在我的drawable/layout-v21文件夹中,该文件夹中有以下按钮: 但背景是灰色的,纹波(也是灰色的)无法定制。 所以,如果我只需要一个很好的ripple dra
最小SDK为21。当我点击回收器适配器中的cardview时,不会产生连锁反应,只会进入下一个屏幕。recyclerview位于片段内部。 适配器代码,其中我对每个项目进行了onClick。