08.04.2023., 10:04
|
#2
|
Guest
|
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);
}
}
}
|
|
|