View Single Post
Staro 08.04.2023., 10:04   #2
chief_wolfinjo
Guest
 
Postovi: n/a
probao sam par metoda i sa java ali nula bodova:
Code:
package com.example.sexyclockwidget;

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.os.Handler;
import android.widget.RemoteViews;
import androidx.core.content.ContextCompat;
import java.text.SimpleDateFormat;
import java.util.Date;


public class SexyClockWidget extends AppWidgetProvider {

    private Context context;

    private static final String TIME_FORMAT = "HH:mm:ss";
    private static final String SHARED_PREFS_FILE = "com.example.sexyclockwidget";
    private static final String PREF_TIME = "time";

    private Handler handler = new Handler();
    private Runnable runnable = new Runnable() {
        public void run() {
            updateClock(context); // pass the context parameter here
            handler.postDelayed(this, 1000);
        }
    };

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        this.context = context; // initialize the context variable

        for (int appWidgetId : appWidgetIds) {
            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.sexy_clock_widget);

            // Postavi sliku na ImageView
            views.setImageViewResource(R.id.imageView, R.drawable.my_image);

            // Pokreni runnable koji će osvježavati vrijeme
            handler.postDelayed(runnable, 1000);

            appWidgetManager.updateAppWidget(appWidgetId, views);
        }
    }


    @Override
    public void onDisabled(Context context) {
        super.onDisabled(context);
        // Zaustavi runnable kada je zadnji widget uklonjen
        handler.removeCallbacks(runnable);
    }

    private void updateClock(Context context) {
        AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
        int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context, SexyClockWidget.class));

        for (int appWidgetId : appWidgetIds) {
            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.sexy_clock_widget);

            // Postavi trenutno vrijeme na TextView
            SimpleDateFormat sdf = new SimpleDateFormat(TIME_FORMAT);
            String currentTime = sdf.format(new Date());

            // Set custom font for TextView
            Typeface font = Typeface.createFromAsset(context.getAssets(), "font/pixel.ttf");
            Paint paint = new Paint();
            paint.setTypeface(font);
            paint.setStyle(Paint.Style.FILL);
            paint.setColor(ContextCompat.getColor(context, R.color.purple_200));
            paint.setTextSize(context.getResources().getDimension(R.dimen.text_size));

            // Draw text on bitmap and set it to ImageView
            Bitmap myBitmap = Bitmap.createBitmap((int) paint.measureText(currentTime), (int) paint.getTextSize(), Bitmap.Config.ARGB_8888);
            Canvas myCanvas = new Canvas(myBitmap);
            myCanvas.drawText(currentTime, 0, (int) paint.getTextSize(), paint);
            views.setImageViewBitmap(R.id.textView, myBitmap);

         appWidgetManager.updateAppWidget(appWidgetId, views);
        }
    }
}
  Reply With Quote