0

カスタムフォントテキストを使用して、 1人の子を保持するAppWidget RemoteViewwith があります。ListViewImageView

これが私のコードです:

Typeface tf = Typeface.createFromAsset(mContext.getAssets(),"fonts/myfont.ttf");

TextPaint textPaint = new TextPaint(TextPaint.ANTI_ALIAS_FLAG);
textPaint.setTypeface(tf);
textPaint.setStyle(Paint.Style.FILL);
textPaint.setColor(mycolor);
textPaint.setTextSize(px);

StaticLayout staticLayout = new StaticLayout(textString, textPaint, width, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);

Bitmap bitmap = Bitmap.createBitmap(width, staticLayout.getHeight(), Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(bitmap);
staticLayout.draw(canvas);

rv.setImageViewBitmap(R.id.imageViewText, bitmap);

正しく動作します。ただし、テキストが 50/60 行を超えるたびに空として表示されますが、リストビューをスクロールできます (したがって、ビットマップの高さが 0 ではないため、staticLayout は空ではありません)。

もう 1 つの重要なことは、次の動作です。ウィジェットのドラッグを開始すると、テキストが表示されます。ドロップした直後に、テキストが再び消えます。

何がそのような行動を引き起こす可能性がありますか? 同様の問題に直面した誰かが助けてくれるかもしれません。

編集:

ビットマップをpngとしてキャッシュディレクトリに保存してから、メソッドで画像を設定しようとしましたsetImageViewUriが、結果は同じです。適切な寸法の透明な画像で、ドラッグ アンド ドロップすると表示されます。

4

0 に答える 0