gpt4 book ai didi

java - Android 应用小部件提供程序 : dynamic width

转载 作者:行者123 更新时间:2023-11-30 08:52:56 25 4
gpt4 key购买 nike

我正在创建一个简单的 android 小部件,它将显示小图像。

我需要能够根据所选图像的数量设置小部件的宽度。

我的小部件:

    <?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget_layout"
android:minHeight="72dp"
android:minWidth="72dp"
android:updatePeriodMillis="0" >
</appwidget-provider>

Java 类:

      public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {


SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
if(!url.equalsIgnoreCase(""))
{
url = preferences.getString("url", "");
}

// Get all ids
ComponentName thisWidget = new ComponentName(context,MyWidgetProvider.class);

int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);

for (int widgetId : allWidgetIds) {

RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout.widget_layout);


// Register an onClickListener
Intent intent = new Intent(context, MyWidgetProvider.class);

intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);

PendingIntent pendingIntent = PendingIntent.getBroadcast(context,0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setOnClickPendingIntent(R.id.open, pendingIntent);
appWidgetManager.updateAppWidget(widgetId, remoteViews);
}


}

如何以编程方式更改 minWidthminHeight

最佳答案

我想不可能以编程方式更改 minWidth 和 minHeight;但您可以尝试使用 resizeMode 来扩展小部件布局。我希望这个解决方案对您有所帮助。

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="320dp"
android:minHeight="320dp"
android:minResizeHeight="160dp"
android:minResizeWidth="240dp"
android:updatePeriodMillis="100"
android:initialLayout="@layout/widget"
android:autoAdvanceViewId="@+id/list_view"
android:previewImage="@drawable/preview_image"
android:resizeMode="vertical|horizontal"
/>

关于java - Android 应用小部件提供程序 : dynamic width,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30018324/

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