Android在Imageview上隐藏Textview,单击小部件

时间:2014-04-21 07:21:37

标签: android

如何隐藏图片中的小部件文本在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;
        }

1 个答案:

答案 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(文章和时间)变得不可见。