読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

actionBarまとめ

android

参考:Androidで動く携帯Javaアプリ作成入門(41):Android 4.x時代のアプリにないと残念なActionBarとは (1/3) - @IT

actionBarとは

Android 2.x以前のタイトルバーを置き換えつつ、ロゴ、ボタン、タブなどを配置できるツールバー

最小構成で作成

  • res/menu下にmenu用xml作成
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.actionbar.MainActivity" >
	<item
        android:id="@+id/action_edit"
        android:icon="@android:drawable/ic_menu_edit"
        android:showAsAction="ifRoom|withText"
        android:title="@string/action_edit"/>
    <item
        android:id="@+id/action_settings"
        android:icon="@android:drawable/ic_menu_preferences"
        android:showAsAction="ifRoom|withText"
        android:title="@string/action_settings"/>
</menu>

※titleに文字列を直接入力すると(ex:"文字列")以下のエラーが出てビルドできなくなった
 string.xmlに別だしすると解決した

Error executing aapt: Return code 138	actionBar		line 1	Android ADT Problem

android:showAsAction…ActionBar上でメニューアイテムがどのように配置、表示されるかを指定

never 常に表示しない
ifRoom 表示する余裕があれば表示
always 常に表示
withText android:titleのテキストを表示。パイプを使用して他の値と同時に指定可能
collapseActionView android:actionViewLayoutで指定されているアクションビューと関連付ける。パイプを使用して他の値と同時に指定可能

alwaysは表示するスペースがなくても強制的に表示するため、使用する際に注意が必要

あとはメニューを表示する要領で、以下をactivityに追加

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
広告を非表示にする