【发布时间】:2021-11-05 05:47:33
【问题描述】:
我尝试创建一个小部件,我成功了,但是如何满足小部件中工具的点击需求?
我所说的不是重定向到一个活动,我正在寻找一种可以创建函数的方法。
下方小部件使用的布局文件
<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:id="@+id/kare"
android:theme = "@style/Theme.Mytwo.AppWidgetContainer" >
<Button
android:id = "@+id/appwidget_text"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_centerInParent = "true"
android:background = "#048018"
android:text = "clean"
android:textSize = "24sp"
android:padding="15dp"
android:textStyle = "bold" />
</RelativeLayout >
这是我的小部件提供程序类
class NewAppWidget : AppWidgetProvider() {
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) { // There may be multiple widgets active, so update all of them
for (appWidgetId in appWidgetIds) {
updateAppWidget(context, appWidgetManager, appWidgetId)
}
}
}
internal fun updateAppWidget(context: Context, appWidgetManager: AppWidgetManager, appWidgetId: Int) {
val views = RemoteViews(context.packageName, R.layout.new_app_widget )
appWidgetManager.updateAppWidget(appWidgetId, views)
}
最后是我的提供商信息文件
<appwidget-provider xmlns:android = "http://schemas.android.com/apk/res/android"
android:description = "@string/app_widget_description"
android:initialKeyguardLayout = "@layout/new_app_widget"
android:initialLayout = "@layout/new_app_widget"
android:minWidth = "100dp"
android:minHeight = "40dp"
android:previewImage = "@drawable/ic_launcher_foreground"
android:previewLayout = "@layout/new_app_widget"
android:resizeMode = "horizontal|vertical"
android:targetCellWidth = "2"
android:targetCellHeight = "2"
android:updatePeriodMillis = "86400000"
android:widgetCategory = "home_screen" />
【问题讨论】:
标签: android-studio kotlin widget click appwidgetprovider