Android ActionBarのアイコンをなくす
AndroidのminSDKが11以上で使える話です。
10以下の場合は、AppCompatとか取り込まないとダメなようです。
さて、ActionBarのアイコンをなくしたデザインにしたい!というお話がありました。
具体的には、次のような画像にします。
で、stackOverflowに
action_bar.setDisplayShowHomeEnabled(false);
を使えばイイヨ!と書いてあったので、次のように実装してみました。
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar action_bar = getActionBar(); action_bar.setDisplayShowHomeEnabled(false); }
いいんだけど…
一瞬アイコンが見えるのがとても残念です…。
仕方ないので、カスタムレイアウトにします。
ActivityのonCreateでactionbarを指定します。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar action_bar = getActionBar(); action_bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); action_bar.setCustomView(R.layout.actionbar); }
次のようにlayout/actionbar.xmlを作ります。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center" android:background="@color/navy" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="もももも" android:textColor="@color/white" android:textSize="24sp" /> </LinearLayout>