usakdsteen

ゆうさくですてぃーん

メモ:あんどろ(2)

自分用メモ

 メモ:あんどろ(1) - usakdsteen

 のつづき

環境

OS: Windows7

Java: JDK8

Ant: 1.9.2

 

id: Android-15

Platform: Android 4.0.3

API Level: 15

Revisions: 5

Tag/ABIs: default/armeabi-v7a

 Android SDK Tools: 25.2.5
Android SDK Platform-tools: 29.06
Android SDK Build-tools: 29.0.3


使用してるドキュメント: Android4.4.2時点のもの (6年以上昔の古い情報)

 

 

ttp://127.0.0.1:8000/training/basics/firstapp/building-ui.html

前回のやつを弄ってくらしいが

 

レイアウトのサイズ指定で

full_parentとmatch_parentの同じ意味を持つキーワードが出てきた

full_parentはAPIレベル8以前の表現でmatch_parentに名前変更されたらしい

ttp://127.0.0.1:8000/guide/topics/ui/declaring-layout.html#layout-params

 

レイアウトサイズのwrap_contentは表示する中身のサイズに合わせる

match_parent(full_parent)はそれを保持するコンテナのサイズいっぱいに合わせる

 

ライナーレイアウトでは

レイアウトサイズに重みを設定すると重みを設定してない要素のサイズ確定後に残りのスペースに重み設定してる要素が重みの比でそのスペースに収納されるらしい?(これはライナーレイアウトで設定した方向に従って重み分け)

重みを設定する場合はその方向のサイズを 0dp とかに設定しておくセオリー

(dpって何の単位だ?印刷?画面?ともかく大きさを直指定もできるぽいな)

 

レイアウト指定でTextFieldなどの要素をアクティビティに設置していけるらしく

プログラムから要素に直接アクセスする必要がある場合IDを設定しておく android:id="@+id/foobar" などとやっておく 

@から始まるのはリソースのIDを表しててプログラムからは自動で生成されるRというクラスからアクセスできるらしい

リソースのIDはリソースのタイプが異なれば名前がかぶってもOKらしい

@id/foobarと@string/foobarはどっちもfoobarだけとリソースのタイプが違うからOK

 

文字列リソース

/res/values/strings.xml ファイルに列挙してく

アプリに設定したデフォの国の言語で書いてく

デフォの設定の仕方は知らんが特に何もしなければデフォは英語になってるらしい

ローカライズする方法としてはリソースファイルを入れてるディレクトリでディレクトリ名の末尾に言語コード(enとかjaとか)を足したものを用意すればいいらしい(これは文字列リソースに限らず画像リソース・レイアウトリソースどれでも同様に) (言語コードより優先される国コード (MCC数字)を末尾につける指定もあるらしいが複数言語使う国だと困るよね的な?)

/res/values-ja/strings.xml

デフォのリソースからローカライズしたい部分だけ記述すればよいらしく

ローカライズ版に無いIDはデフォのリソースから参照されるらしい

従ってデフォのリソースには全てのリソースを列挙しておく必要があるらしい

ttp://127.0.0.1:8000/training/basics/supporting-devices/index.html

ttp://127.0.0.1:8000/training/basics/supporting-devices/languages.html

ttp://127.0.0.1:8000/guide/topics/resources/localization.html

画像リソースなら画像に文字含んでたり、その国の法や宗教に配慮して差し替えたりとか(法や宗教なら言語コードじゃなく国コード指定かな)

レイアウトリソースなら名前の入力欄とかで苗字が前か後ろかとかミドルネームあるかとか

そういう配慮ができるらしい

 

 

f:id:neetsdkasu:20200421184157p:plain