【发布时间】:2015-05-03 19:22:47
【问题描述】:
我正在创建一个简单的 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);
}
}
如何以编程方式更改minWidth 和minHeight?
【问题讨论】:
标签: java android android-widget