相关疑难解决方法(0)

如何在Android上的textview或imageview上设置涟漪效果?

我想在Android Studio中对textview和imageview设置涟漪效果.我该怎么做?

android textview android-imageview material-design

112
推荐指数
11
解决办法
8万
查看次数

在图像视图上设置涟漪效果

得到以下图片视图:

<ImageView
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:scaleType="centerCrop"
    app:layout_collapseMode="parallax" 
    android:clickable="true"
    android:focusable="true"
    android:background="?android:attr/selectableItemBackground"/>
Run Code Online (Sandbox Code Playgroud)

如果我没有为图像视图设置位图,则Ripple工作得很好.但是一旦我设置了这样的位图,涟漪效应就消失了:

ImageView iv=((ImageView)rootView.findViewById(R.id.header));
iv.setImageBitmap(myBitmap);
Run Code Online (Sandbox Code Playgroud)

这是我的ripple.xml:

<ripple xmlns:android="http://schemas.android.com/apk/res/android" 
                  android:color="?android:colorControlHighlight">
    <item android:id="@android:id/mask">
        <shape android:shape="oval">
            <solid android:color="?android:colorAccent" />
        </shape>
    </item>
</ripple>
Run Code Online (Sandbox Code Playgroud)

我猜这个位图隐藏了涟漪效应,我怎样才能让它可见?已经尝试过:

  1. 将android:background更改为android:foreground,这不起作用.
  2. 在此顶部配置另一个透明ImageView,但由于它是透明的纹波未显示.

有任何想法吗?我见过Lollipop Contacts也是这样做的.

java android ripple android-5.0-lollipop

17
推荐指数
3
解决办法
2万
查看次数