私はAndroidプログラミングにかなり慣れていませんが、ウィジェットをプログラミングしてくれる人がいますが、彼らは私が望んでいたものとは少し異なることをしました...彼らはすべてのテキストをテキストビューではなくビットマップとして表示されるウィジェット。これは私が望むコントロールを私に与えません。私がこれで持っているもののコードを投稿して、誰かが助けてくれるかどうか見てみましょう。そのための.javaコードは次のとおりです。
String strHourFormat = "hh:mm";
String strDateFormat = "MM.dd.yy";
SimpleDateFormat fHour = new SimpleDateFormat(strHourFormat);
SimpleDateFormat fDate = new SimpleDateFormat(strDateFormat);
Date date = new Date();
String am = date.getHours() > 11 ? "PM":"AM";
setContentView(R.layout.widget_ui);
TextView day = new TextView(this);
day = (TextView) findViewById(R.id.day);
day.setText("" + fDate.format( date));
day.setTypeface(Typeface.createFromAsset(this.getAssets(), "roboto_thin.ttf"));
///////////
WidgetBiggs.previousState = WidgetBiggs.getWifiState(getApplication());
SoundDebug.previousState = SoundDebug.getSoundState(getApplication());
// Update each requested appWidgetId
RemoteViews widgetView = WidgetBiggs.buildUpdate(getApplication(), -1);
for(int wid:widgetIds){
//final RemoteViews widgetView = new RemoteViews(getPackageName(),R.layout.widget_ui);
widgetView.setImageViewBitmap( R.id.img_Hour, updateFontText(""+fHour.format(date),40,100,84,100,60));
widgetView.setImageViewBitmap( R.id.img_AM, updateFontText(""+am,25,40,84,40,60));
widgetView.setImageViewBitmap( R.id.img_Day, updateFontText("" + fDate.format( date),38,150,40,150,40));
//widgetView.setImageViewBitmap( R.id.img_Weather, updateFontText(getWeatherGoogle().toString(),25,120,30,120,30));
間に他のいくつかのもの....
private Bitmap updateFontText(String time, int size, int width, int height, int widthText, int heightText)
{
Bitmap myBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);
Canvas myCanvas = new Canvas(myBitmap);
Paint paint = new Paint();
Typeface clock = Typeface.createFromAsset(this.getAssets(),"roboto_thin.ttf");
paint.setAntiAlias(true);
paint.setSubpixelText(true);
paint.setTypeface(clock);
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
paint.setTextSize(size);
paint.setTextAlign(Align.RIGHT );
myCanvas.drawText(time, widthText, heightText, paint);
return myBitmap;
そして、これが私が始めたXMLです:
<TextView
android:id="@+id/day"
android:visibility="visible"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal|center_vertical"
android:textSize="32dp">
</TextView>
これにより、私のアプリケーションは混乱します。目立つものがあれば教えてください。ビットマップテキストを取り出して、テキストビューテキストを入れたいのですが。ありがとうございます。