はじめてのAndroidアプリ開発。独学でやってみる(2)

2018年11月22日

いよいよ、アプリケーションの作成にトライしていきます。

TODOアプリですが、私の脳内ラフをおこしました。こんな感じ。

必要な画面要素は、以下の3つになります。

  • リスト表示
  • 丸いプラスボタン
  • ダイアログ表示

リスト表示

名前からして「ListView」ですね。サンプルソースの通りに動かしてみます。

final String[] texts = {
    "aaa", "bbb", "ccc",
};

ListView listView = findViewById(R.id.listView);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this, 
    android.R.layout.simple_list_item_1, texts);
todoListView.setAdapter(arrayAdapter);

todoListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parentAdapterView, 
            View view, int position, long id) {
            Toast.makeText(MainActivity.this,
            String.format(Locale.US,"%sがtapされました", texts[position]),
            Toast.LENGTH_LONG).show();
        }
});

うん。なんか、この書き方なつかしい。Javaアプレットを勉強したときを思い出す。

kotlinの方がソースコードがシンプルになります。基本が理解できたらkotlinに乗り換えよう。

リスト表示はできましたが、スワイプのイベント処理が作成できないようです。

「RecyclerView」に作り替えます。
ItemTouchHelperを利用して、スワイプのイベント処理が作成できました。
(ソースが長い+サンプル通りなので省略)

丸いプラスボタン

なにかそれっぽいUI無いかな?

パレットを探すと見つかりました。「FloatingActionButton」これですね。

ボタンが押された時のイベントも作成できました。

FloatingActionButton fab = findViewById(R.id.floatingActionButton);
fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // ここにボタンが押された時の処理
    }
});

ダイアログ表示

公式ページを参照すると、

DialogFragment クラスを使用すると、従来の Fragment のように、大きな UI で埋め込み可能なコンポーネントとしてダイアログの UI を再利用することもできます(ダイアログ UI を大小の画面で異なって表示させる場合など)。

Fragmentが何なのか、よく分かってないのに「従来の」とか言われても・・・。
まったく話についていけてません(´Д⊂グスン

とりあえず「DialogFragment」を使って、見よう見まねで作ることができました。

何とか形になりました

ソースコードをgithubに置きました。もしよければ参考ください。