Android > 読書メモ

目次

Google Android プログラミング入門

3 - 1.3.2 レイアウト

  • レイアウトandroid.view.ViewGroupを継承したウィジェット。ViewGroupはandroid.view.Viewの直下のサブクラス。
  • レイアウトの役割は画面の一番外側にあるコンテナ子となるウィジェットの配置を調整する用途
  • 配置情報はViewGroup.LayoutParamsクラスに入れて使う
  • 全ての子要素を一直線に整列するレイアウト LinearLayout
    • デフォルトは水平に整列。android:orientation属性にverticalを指定したら垂直に整列
    • 水平整列時はlayout_weight属性で比率を指定する( 指定しないと先頭要素が横幅一杯表示され、後続要素が見えなくなる
    • 複数のLinearLayoutを入れ子にして組み合わせたレイアウトも作成可能
  • レイアウトにスクロール機能を提供する ScrollView(垂直)、HorizontalScrollView(水平)
    • スクロールさせたいレイアウト定義要素をScrollViewで囲めばOK
    • ただし 1つのウィジェット・レイアウトしか子供にする事ができない

3 - 1.3.3 データバインディング

  • データバインディングとは、ウィジェットに対してデータを紐付けること
  • データバインディングの機能を提供しているクラスがandroid.widget.AdapterView
    • データをバインドしたリストの中から1つをクリックしたときのItemClickイベント。OnItemClickListenerイベントリスナを実行
      • onItemClickメソッドを実装
    • データをバインドしたリストの中から1つを長クリックしたときのItemLongClickイベント。OnItemLongClickListenerイベントリスナを実行
      • onItemLongClickメソッドを実装。戻り値はboolean。長押しを正常にハンドルできた場合にtrueを返す。
    • データをバインドしたリストの中から1つが選択されたときのItemSelectedイベント。OnItemLongSelectedListenerイベントリスナを実行
      • onItemSelectedメソッド=どれか1つが選択された時。リストのアイテムにフォーカスしている状態を指し、 タッチモードのときはこのイベントそのものが発生しない
      • onNothingSelectedメソッド=リストのどれかがフォーカス状態にあってタッチモードに遷移した状態を指す
  • アダプタとは、ウィジェットとデータの中継ぎ役
    • android.widget.ArrayAdapterは配列データをバインドする為のアダプタ
    • android.widget.SimpleAdapterはリソースファイルから取得したデータをバインドする為のアダプタ
  • 一覧画面専用のアクティビティ ListActivityExpandableListActivity
  • ListActivityは、ListViewを1つ配置した画面を作るときに便利なアクティビティ
    • 画面作成は setListAdapter(ArrayAdapter) で作成可能
    • どれか1つが選択された時のイベントハンドルメソッドがonListItemClick
    • レイアウトファイルを既定のものと差し替え可能。この場合レイアウトファイルのListViewのandroid:id属性には必ず@id/android:listを指定する
      • @id/android:emptyを指定したウィジェットを追加しておくと、リストが空のときにこのウィジェットを表示してくれる

3 - 1.3.6 ダイアログ

最終更新:2010年01月26日 23:46