Android公式サイトのトレーニング「Building Your First App」をAndroid Studioしてみた
につづき「Adding the Action Bar」をAndroid Studioしてみました
http://developer.android.com/intl/ja/training/appbar/index.html
「Building Your First App」ではそのままアプリができましたが、今回はそのままできるようにはなってないようです
Android Studio 0.8.9 でやったときの差とコメントを書いていきます
※ 後半、めんどうだったので省略してます
Adding the Action Bar
Action Barの説明
Setting Up the Action Bar
-> Support Android 3.0 and Above Only
<uses-sdk .. はbuild.gradleにある
-> Support Android 2.1 and Above
対応予定がないので、今回は飛ばした
Adding Action Buttons
Action Buttonsの説明
-> Specify the Actions in XML
プロジェクト作成時にBlank Activityを選ぶと、デフォルトではmenu/my.xmlがAction Barの設定になる
英語でroomは、使える場所、余地
@drawable/ic_action_search がないため追加する
resフォルダを右クリック、New、Image Asset
(Android Studioをインストールしたディレクトリ) /sdk/platforms/android-19/data/res/drawable-ldpi/ic_search_category_default.png
を選択、Resource Nameをつけて追加
-> Add the Actions to the Action Bar
Android Studioではデフォルトの
[java]
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.my, menu);
return true;
}
[/java]
で動作する
-> Respond to Action Buttons
Action Buttonをタップすると、onOptionsItemSelected()が呼ばれ、IDで区別して動作を作成する
-> Add Up Button for Low-level Activities
API level 16以上だと戻るボタンの実装は簡単でManifest.xmlに親のアクティビティを指定するだけでいい
Styling the Actin Bar
Androids’s style and themeを使えば、action barのスタイルがかえられる
-> Use an Android Theme
android:themeは<application>や<activity>ごとにつけられる
-> Customize the Background
For Android 2.1 and higher
は飛ばしました
res/values/themes.xmlでなくres/values/styles.xmlを参照
drawableで色をしているがファイルがない(自分でつくる?)
CustomizeActionBarThemeがPreviewウィンドウで反映されない?
と思いましたが、Emulatorで動かすと効いてました
Preview画面では上部のThemeをCustomizeActionBarThemeに変更すると反映されます
-> Customize the Text Color
android:titleTextStyleでAction Barのスタイル指定
android:actionBarTabTextStyleでActionBarTabのスタイル指定
android:actionMenuTextColorでAction Barのテキストカラー
MyActionBarTitleText、actionBarTabTextStyleでActionBarTab内の
TextColorを設定するとそちらが有効になる(actionMenuTextColorよりも)
-> Customize the Tab Indicator
drawableのものが色々足りない
ページ上部のYou should also readのところの
Android Action Bar Style Generator
でダウンロードして持ってこれる
名前つけずにダウンロードすると同じファイル名になる
unzipして、プロジェクトのresディレクトリに放り込む
Tab Indicatorを作るのが面倒だったので、省略..
Overlaying the Action Bar
hide()やshow()でAction Barを隠したり出したりできるが再描画が走るので効率がよくない
overlay modeで解決できる
-> Enable Overlay Mode
–> For Android 3.0 and higher only
android:windowActionBarOverlayをtrueに指定すればoverlay mode
–> For Android 2.1 and higher
飛ばしました
-> Specify Layout Top-Margin
overlay modeのとき、Action Barのしたに常にlayoutを出すならマージンを指定
android:paddingTop=”?android:attr/actionBarSize”