android


Cant apply Custom font on app widget service


final Handler handler = new Handler();
timer = new Timer();
TimerTask updateWidget = new TimerTask() {
#Override
public void run() {
handler.post(new Runnable() {
public void run() {
if (flag&&flag1) {
flag = false;
flag1=false;
try {
image = BitmapFactory.decodeStream((InputStream) new URL("http://openweathermap.org/img/w/"
+ prefs.getString("image", "") + ".png").getContent());
} catch (IOException e) {
e.printStackTrace();
}
if (state == 0) {
remoteViews.setTextViewText(R.id.more_less, "Show more");
remoteViews.setViewVisibility(R.id.weather_icon1, View.GONE);
remoteViews.setTextViewText(R.id.temperature, prefs.getString("vTemperature", "") + "" + unit);
// remoteViews.setImageViewBitmap(R.id.temperature, getFontBitmap((prefs.getString("vTemperature", "") + "" + unit).toString(), Color.WHITE, 100));
remoteViews.setImageViewBitmap(R.id.weather_icon, image);
if (city.length() > 12) {
remoteViews.setTextViewTextSize(R.id.city, TypedValue.COMPLEX_UNIT_PX, 50f);
} else {
remoteViews.setTextViewTextSize(R.id.city, TypedValue.COMPLEX_UNIT_PX, 80f);
}
remoteViews.setTextViewText(R.id.city, city);
remoteViews.setTextViewText(R.id.mainDescription, prefs.getString("mainDescription", ""));
description = prefs.getString("description", "");
if (description.length() > 1) {
description = description.substring(0, 1).toUpperCase() + description.substring(1).toLowerCase();
}
remoteViews.setTextViewText(R.id.description, description);
// remoteViews.setImageViewBitmap(R.id.description, buildUpdate(description));
} else {
remoteViews.setTextViewText(R.id.more_less, "Show less");
remoteViews.setViewVisibility(R.id.weather_icon1, View.VISIBLE);
remoteViews.setTextViewText(R.id.time_1, String.valueOf(timeList.get(0)));
remoteViews.setTextViewText(R.id.time_2, String.valueOf(timeList.get(1)));
remoteViews.setTextViewText(R.id.time_3, String.valueOf(timeList.get(2)));
remoteViews.setTextViewText(R.id.time_4, String.valueOf(timeList.get(3)));
remoteViews.setTextViewText(R.id.time_5, String.valueOf(timeList.get(4)));
remoteViews.setTextViewText(R.id.temperature_1, minTempList.get(0) + "" + unit + "\\" + maxTempList.get(0) + "" + unit);
remoteViews.setTextViewText(R.id.temperature_2, minTempList.get(1) + "" + unit + "\\" + maxTempList.get(1) + "" + unit);
remoteViews.setTextViewText(R.id.temperature_3, minTempList.get(2) + "" + unit + "\\" + maxTempList.get(2) + "" + unit);
remoteViews.setTextViewText(R.id.temperature_4, minTempList.get(3) + "" + unit + "\\" + maxTempList.get(3) + "" + unit);
remoteViews.setTextViewText(R.id.temperature_5, minTempList.get(4) + "" + unit + "\\" + maxTempList.get(4) + "" + unit);
remoteViews.setImageViewBitmap(R.id.icon_1, decodeBitmap(iconList.get(0)));
remoteViews.setImageViewBitmap(R.id.icon_2, decodeBitmap(iconList.get(1)));
remoteViews.setImageViewBitmap(R.id.icon_3, decodeBitmap(iconList.get(2)));
remoteViews.setImageViewBitmap(R.id.icon_4, decodeBitmap(iconList.get(3)));
remoteViews.setImageViewBitmap(R.id.icon_5, decodeBitmap(iconList.get(4)));
remoteViews.setTextViewText(R.id.temperature, prefs.getString("vTemperature", "") + "" + unit);
// remoteViews.setImageViewBitmap(R.id.temperature, getFontBitmap((prefs.getString("vTemperature", "") + "" + unit).toString(), Color.WHITE, 100));
remoteViews.setImageViewBitmap(R.id.weather_icon, image);
if (city.length() > 12) {
remoteViews.setTextViewTextSize(R.id.city, TypedValue.COMPLEX_UNIT_PX, 50f);
} else {
remoteViews.setTextViewTextSize(R.id.city, TypedValue.COMPLEX_UNIT_PX, 80f);
}
remoteViews.setTextViewText(R.id.city, city);
remoteViews.setTextViewText(R.id.mainDescription, prefs.getString("mainDescription", ""));
description = prefs.getString("description", "");
if (description.length() > 1) {
description = description.substring(0, 1).toUpperCase() + description.substring(1).toLowerCase();
}
remoteViews.setTextViewText(R.id.description, description);
}
appWidgetManager.updateAppWidget(widgetId, remoteViews);
if (timer != null) {
timer.cancel();
timer.purge();
timer = null;
}
}
}
});
}
};
timer.schedule(updateWidget, 0, 200);
}
stopSelf();
return START_NOT_STICKY;
}
and bitmap is
private Bitmap getFontBitmap( String text, int color, float fontSizeSP) {
int fontSizePX = convertDiptoPix(fontSizeSP);
int pad = (fontSizePX / 9);
Paint paint = new Paint();
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Clock2017R.ttf");
paint.setAntiAlias(true);
paint.setTypeface(typeface);
paint.setColor(color);
paint.setTextSize(fontSizePX);
// paint.setShadowLayer(2, 1, 1, Color.DKGRAY);
int textWidth = (int) (paint.measureText(text) + pad * 2);
int height = (int) (fontSizePX / 0.75);
Bitmap bitmap = Bitmap.createBitmap(textWidth, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawText(text, pad, fontSizePX, paint);
return bitmap;
}
private int convertDiptoPix( float dip) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, getResources().getDisplayMetrics());
}
When i set remoteViews.setImageBitamp i get problem loading widget error.
I tried several methods but can't get it working .Even tried Calligraphy library but i still get problem loading widget error
Note:
I don't see any error in logcat too.
So kindly help me

Related Links

What is the best UI and UX design practice for small Android screens?
How to resize a H264 frame using ffmpeg?
How to get Custom ViewGroup height in onMeasure
Does moving the device wake it up from DOZE
I have downloaded a android project. I want to run project in android studio, seeing followng screen
android custom CalendarView
CollapsingToolbarLayout/Toolbar fades too early/late
Anko - alternative to hide one view and show another
Single Activity to manage permissions
Retrieving data in a list form with random ids from Firebase database
Create FloatingActionButton programmatically (without xml)
Change Background of RecyclerView Item at specific position
Local notification with alarm not work in day
MP4 Video Not Playing in Chrome 56 or 57 on Android
How to disable alert dialog close, if editText inside Alert dialog is empty
No such file or directory when trying to read from path

Categories

HOME
httparty
api
design-patterns
nunit
cq5
polling
vsm
accessibility
openstreetmap
drop-down-menu
mautic
opengl-es-3.0
spring-social
selectize.js
cumulocity
mongodb-csharp
linear-algebra
dreamweaver
delphi-xe5
boost-icl
solrcloud
selinux
user-experience
squashfs
dpdk
systemtime
comparator
jackson-modules
apktool
boost-asio
livelink
mustache
r-grid
hard-drive
slacktextviewcontroller
hivemq
docfx
google-knowledge-graph
css-position
numberpicker
comparison-operators
resolution
odoo-website
bindingnavigator
snapchat
jide
dtsearch
bluez
context-switch
edit
reshape
monkey
cpu-cache
offline.js
cmp
mathcad
rsa-archer-grc
donations
visual-studio-2008-sp1
wso2developerstudio
udpclient
sklearn-pandas
nio2
spring-retry
directdraw
rubaxa-sortable
cgi-bin
ember-cli-rails
apache-commons-daemon
telepat
kubuntu
adehabitathr
ss7
ora-00904
matrix-inverse
jquery-slider
synapse
gwt-openlayers
visual-studio-express
gd-graph
beaker-testing
gpars
onmousemove
patricia-trie
cuda-gdb
luabind
promotion-code
xcelsius
mbeans
uideviceorientation
easyb
zend-rest
sun
xpsdocument
lemmatization

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile