gpt4 book ai didi

android - Widget Android 中的色调/模糊 View

转载 作者:行者123 更新时间:2023-11-30 02:58:36 27 4
gpt4 key购买 nike

我已经研究并在 android 中创建了一些应用程序小部件。所以我有一个有 6 个 ImageView 的小部件,当用户点击其中一个时,小部件将启动应用程序。

问题是因为用户没有得到触摸成功的反馈(我的意思是, View 没有着色,因为没有像其他 View 一样的 onTouchListener)。

我看到许多小部件可以在用户触摸时着色,但我不能这样做(在远程 View 中我无法直接通过 View 访问)!我怎样才能做到?

最佳答案

您可以通过如下创建自定义可绘制对象并将其设置为 ImageView 来实现此目的。当用户触摸 ImageView 时显示不同的颜色。

widget_item_image.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/black_overlay"
android:state_pressed="true"/>
<item android:drawable="@color/maroon" android:state_enabled="true"/>
</selector>

widget_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@color/white">

<ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="60dp"
android:src="@drawable/widget_item_image"
android:scaleType="fitXY"
android:layout_margin="10dp"/>
</LinearLayout>

现在您的小部件提供程序 onUpdate() 应该将小部件布局设置为远程 View 并向 ImageView 添加点击 Intent 以启动 Activity

Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context,0,intent,0);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout.widget_layout);
remoteViews.setOnClickPendingIntent(R.id.imageView1,pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, remoteViews);

希望这对您有所帮助。

关于android - Widget Android 中的色调/模糊 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22913061/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com