カスタムの書式設定されたテキストを表示するだけのカスタム メニュー項目が ActionBar に必要です。そこで、その場で画像を作成し、それをメニュー アイコンに添付しようと考えました。したがって、私のコードでは、Layout xml を使用してテキストを作成できると考えました。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:textColor="#bcbcbb"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Some Text"/>
<TextView android:textColor="#ffffff"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/replace_text" android:text="XXXX"/>
</LinearLayout>
次に、DrawableBitmap への一時レイアウト描画を作成します。
LinearLayout layout = (LinearLayout)View.inflate(getApplicationContext(), R.layout.refund_text, null );
layout.setDrawingCacheEnabled(true);
layout.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
layout.layout(0, 0, mRefundLayout.getWidth(), layout.getHeight());
layout.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(layout.getDrawingCache());
BitmapDrawable bm = new BitmapDrawable( getBaseContext().getResources(), bitmap);
layout.setDrawingCacheEnabled(false);
....do something with the bitmap
ただし、メジャー呼び出しの後、幅と高さはまだゼロです。誰が私が間違っているのか教えてもらえますか?
よろしくリー