ActionBarのロゴにテキストを書いちゃう
青の背景に黒の文字は読みにくいので、どうにかしたいってかなり思ってました。
ロゴの画像の下に隙間があるからそこに文字を書いちゃえばいいじゃん!
一度、ロゴをbitmapに変換して、canvasで文字を書いて、drawableに変換して
います。
public static Drawable drawTitle(Context context,String title,int id,int color ){ Resources r = context.getResources(); Bitmap bmp = BitmapFactory.decodeResource(r, id); Paint pen=new Paint(); pen.setTextSize(30); pen.setColor(color); Canvas canvas=new Canvas(bmp); canvas.drawText(title, 0, 72, pen); return new BitmapDrawable(bmp); }
こんな感じに使います。
ActionBar actionBar=this.getSupportActionBar(); actionBar.setLogo(drawTitle(this, "日付とか",R.drawable.bana3,Color.WHITE));
できたものがこれ
いろいろできるようになると楽しいですね。