如何隐藏图片中的小部件文本在Android中的小部件中单击?我搜索了很多但没有得到确切的答案。
代码:
private static int bool=0;//declaration
remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget_demo);
remoteViews.setImageViewResource(R.id.widget_image,getBooleanToSet());
private int getBooleanToSet() {
if(bool==0){
bool=1;
remoteViews.setViewVisibility(R.id.article, View.VISIBLE);
remoteViews.setViewVisibility(R.id.time, View.VISIBLE);
}else{
bool=0;
remoteViews.setViewVisibility(R.id.article, View.INVISIBLE);
remoteViews.setViewVisibility(R.id.time, View.INVISIBLE);
}
return bool == 0 ? R.drawable.ic_launcher : R.drawable.ic_launcher;
}
答案 0 :(得分:0)
源代码:
public class MyWidgetProvider extends AppWidgetProvider {
private static int bool = 0;
private RSSWorker mRssWorker;
static RemoteViews remoteViews;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
mRssWorker = new RSSWorker(context);
remoteViews = new RemoteViews(context.getPackageName(),
R.layout.widget_demo);
remoteViews.setOnClickPendingIntent(R.id.widget_button,
buildButtonPendingIntent(context));
remoteViews.setImageViewResource(R.id.widget_image, getBooleanToSet());
try {
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
pushWidgetUpdate(context, remoteViews);
} catch (Exception e) {
e.printStackTrace();
}
}
private int getBooleanToSet() {
Log.e("click", "san here");
if (bool == 0) {
bool = 1;
remoteViews.setViewVisibility(R.id.article, View.VISIBLE);
remoteViews.setViewVisibility(R.id.time, View.VISIBLE);
} else {
bool = 0;
remoteViews.setViewVisibility(R.id.article, View.INVISIBLE);
remoteViews.setViewVisibility(R.id.time, View.INVISIBLE);
}
return bool == 0 ? R.drawable.ic_launcher : R.drawable.ic_launcher;
}
public static PendingIntent updateWidget(Context context) {
Intent intent = new Intent(context, PlayActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, 0);
return PendingIntent.getBroadcast(context, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
}
public static PendingIntent buildButtonPendingIntent(Context context) {
Intent intent = new Intent();
intent.setAction("com.vg.intent.action.CHANGE_PICTURE");
return PendingIntent.getBroadcast(context, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
}
public static void pushWidgetUpdate(Context context, RemoteViews remoteViews) {
ComponentName myWidget = new ComponentName(context,
MyWidgetProvider.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(myWidget, remoteViews);
}
}
@krish:在这里我想要Imageview(widget_image)可点击。点击widget_image,Textview(文章和时间)变得不可见。