ナビゲーションドロワー(DrawerLayout)の活用

自作アプリのメニューを,いい加減ドロワーにしましょう,という話.
ドロワーというのは,画面端をフリックすることで
折りたたまれていたレイアウトがスライド表示される,あれです.

毎度のことながらリファレンス.
ナビゲーションドロワーの作成  |  Android Developers

事前にGradleのdependenciesに
implementation 'com.android.support:drawerlayout:28.0.0-alpha1'
を追加.しないとデバッグ時にアプリが落ちた.

DrawerLayoutのXMLを作成する上では,上記のリファレンスにもあるとおり
以下の注意点が存在する.
・メインコンテンツを先に,ドロワーを後に書く.
・メインコンテンツは,widthもheightもmatch_parent.
・ドロワーには水平方向のグラビティを指定する.
・ドロワーのwidthは320dp以下,heightはmatch_parent.

あとはドロワーの中身が無いと,正しく実装されたかよく分かんないので,
最低限なコードとしてActivityに以下を追記しておく.

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView listView = findViewById(R.id.left_drawer);
        listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, new String[]{"aaa", "bbb"}));
    }
}

結果はこんな感じ.
f:id:bob_l_s:20190224012217p:plain


次はここにメニューて画面遷移させるところかな.