Android の開発がいよいよ始まっているものの、序盤のつまづきが多い。完全に初歩っぽいけどメモ。
ActionBarではなく ToolBar
ここからかよ!ってなるんですが、アプリ上部のヘッダー部分。旧来ActionBarと呼ばれていたみたいですが、ヘッダー周りの考え方の整理に伴い、Toolbarと呼ばれるより柔軟なパーツができていた模様。
過去のブログ記事などを見ていると、ActionBarが頻出するけど、今後はToolBarを使ったナビゲーションに添わせて行くのがモダンっぽい。
ref. AndroidのToolBar(新しいActionBar)メモ
自前で Toolbar をセットしてみる。
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@?attr/colorPrimary"" />
xml にこんな記述をしてみたあとに、Activity側で
Toolbar toolbar;
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
こんなことをしてみるんですよ。
すると、
This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
ってメッセージがお出ましに。。。
デフォルトで ActionBar セットされてるから、できない。
どこで、そんな。。
セットした覚えない。。
styles.xmlを見よう
アプリケーションの スタイル
は res/values/styles.xml
にまとまっているらしい。
今回は、Toolbarを自前で頑張りたいので
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
みたいにしてあげると、アプリ全体でActionBarを付けない設定になるらしい。
これが言いたかっただけなんだけど、Androidのお作法なかなか難しい。