1.6+support-v4を使う時のリソースディレクトリ配置

Androidで互換性の高いアプリを書くための最悪ではない程度のプラクティスの実例だけど自分用の備忘録を兼ねて。


res

  • anim
    ウィンドウアニメーションなどの定義
  • drawable
    ビットマップは置かない。xml定義のシェイプやlevel-list型アニメーションなどを置く
  • drawable-xhdpi
    ビットマップリソース。メニューアイコンと通知アイコンはクラシック(v10以下)用。
    mdpi/ldpi/hdpiも用意していいけどここではxhdpiからの自動生成に任せる。hdpi機種は多いので綺麗なアイコン出したいならhdpiは別建てでもいい
  • drawable-xhdpi-v11
    Honeycomb以降用のメニュー(アクションバー)アイコンと通知アイコン。もしdrawable-hdpiを作ったならdrawable-hdpi-v11も必ず作ること
  • layout
    基本的なレイアウト。完全に共用するものはここ。スマホの標準縦長モードもここ。また、include/mergeで取り込むためのパーツものの
  • layout-land
    横長モード。スマホの横長モード~眼鏡ケェスの標準横長モード。主にマルチペインのもの
  • layout-large
    タブレット縦長モード。縦長時1ペインならあまりここに物を置く必要はないかもしれない
  • layout-large-land
    タブレット横長モード。スマホ横長時1ペイン、タブレット横長時2ペインならここに定義。タブレットもそうだけどGoogle TVもここを読むはず。
    Google TV時はタブを「横(左)に」持ってくることが推奨されるはずだけど今のところ詳細がないのでタブレットと共通でいいと思う。もしこの詳細が出てきたらGoogle TVだけlayout-notouch-large-landで分けるといいかもね
  • layout-large
    タブレット縦長モード。縦長時1ペインならあまりここに物を置く必要はないかもしれない
  • values
    • attr.xml
      スタイル用属性リスト
    • color.xml
      カラー定義
    • string.xml
      標準(英語版)文字列リソース。デフォルトはブロークンでもいいのでとりあえず英語にしておくこと
    • arrays.xml
      英語・共通版配列リソース
    • styles.xml
      標準(共通・スマホ版)スタイル
    • theme.xml
      クラシック(2.3以前用)テーマ。Holoを使わないもの
  • values-ja
    • string.xml
      日本語版文字列リソース。lintのせいで標準にあって日本語版にない文字列があると怒られるので注意
  • values-large
    • styles.xml
      タブレット用スタイル。文字サイズなど共通のものから変更を加えたい時はここ
  • values-v11
    • styles.xml
      Honeycomb以降(=Holo)用スタイル。Holo特化のものが必要ならここ。もしくはHoloから継承しなければならない場合もここ
    • theme.xml
      Honeycomb以降(=Holo)用テーマ。Holoから継承
  • xml
    • preferences.xml
      設定画面の定義

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です