Android 5及以上版本远程视图涟漪效果

7

有没有可能在remoteviews中的按钮上实现涟漪效果?(自定义布局或小部件的通知)

我尝试将按钮背景设置为drawable notification_material_media_action_background:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="@color/ripple_material_dark"/>

但是它没有效果。通知源代码中使用了相同的背景,并且通知按钮上有涟漪效果。 这是通知源代码中创建带涟漪效果的操作按钮的代码:
   private RemoteViews More ...generateMediaActionButton(Action action) {
            final boolean tombstone = (action.actionIntent == null);
            RemoteViews button = new RemoteViews(mBuilder.mContext.getPackageName(),
                    R.layout.notification_material_media_action);
            button.setImageViewResource(R.id.action0, action.icon);
            button.setDrawableParameters(R.id.action0, false, -1,
                    0xFFFFFFFF,
                    PorterDuff.Mode.SRC_ATOP, -1);
            if (!tombstone) {
                button.setOnClickPendingIntent(R.id.action0, action.actionIntent);
            }
            button.setContentDescription(R.id.action0, action.title);
            return button;
        }

唯一的区别似乎在于这一行:

 button.setDrawableParameters(R.id.action0, false, -1,
                        0xFFFFFFFF,
                        PorterDuff.Mode.SRC_ATOP, -1);

但是这个方法是@hide的,因此无法调用。

有什么办法可以添加涟漪效果吗?谢谢!


1
你有没有找到解决问题的答案?我现在也面临着同样的问题。 - IgorGanapolsky
你是如何解决这个问题的?你在吗? - Gary Chen
1个回答

0

对于ImageButton,可以在其标签中使用此属性:


 android:background="?android:attr/actionBarItemBackground"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接