类似的控制WiFi、蓝牙、振动模式等设置的Widget有很多,基本上也都是用ToggleButton实现的(至少看起来是ToggleButton),但是因为RemoteView并不包括ToggleButton,所以自己尝试实现起来发现很困难。
要怎么做才能使AppWidget支持ToggleButton呢?
如果实在做不到,有什么办法可以让ImageButton实现类似于ToggleButton的效果吗?
要怎么做才能使AppWidget支持ToggleButton呢?
如果实在做不到,有什么办法可以让ImageButton实现类似于ToggleButton的效果吗?
public void onReceive(Context context, Intent intent) {
// 只能通过远程对象来设置appwidget中的控件状态
rv = new RemoteViews(context.getPackageName(), R.layout.widget);
AppWidgetManager appWidgetManager = AppWidgetManager
.getInstance(context);
boolean isPlaying = intent.getBooleanExtra(MediaService.STATE, false);
String title = intent.getStringExtra("title");
if (isPlaying) {
rv.setImageViewResource(R.id.app_playBtn, R.drawable.pause);
} else {
rv.setImageViewResource(R.id.app_playBtn, R.drawable.play);
}
rv.setTextViewText(R.id.app_title, title);
updateAppWidget(context, appWidgetManager);
ComponentName componentName = new ComponentName(context,
AppWidget.class);
// 更新appwidget
appWidgetManager.updateAppWidget(componentName, rv);
super.onReceive(context, intent);
}