これらの類似したタイプの属性に完全に戸惑いました
ID用
id= "android:id/Some"
と
id= "@+id/Some"
と幅
layout_width=
と
width
重力用
layout_gravity
と
gravity
その他、伝えたいこと
これらの類似したタイプの属性に完全に戸惑いました
ID用
id= "android:id/Some"
と
id= "@+id/Some"
と幅
layout_width=
と
width
重力用
layout_gravity
と
gravity
その他、伝えたいこと
id= "android:id/Some"
システムのデフォルトで定義されている ID です。 id="@+id/Some"
アプリケーションで作成するローカル ID です (「+」は、オンザフライ定義であることを意味します。つまり、id.xml ファイルで定義されていません)。
layout_width=""
ビューが親で持つ幅です。または次元wrap_content
にすることができます。と同じ結果を得るために使用できます。match_parent
width
layout_width
layout_gravity
このビューが親にどのように配置されるかを示すために使用されます (つまりlayout_gravity="bottom"
、TextView ではビューが下部に配置されます)。gravity
このビューの子ビューがこの中に配置される方法です (つまりgravity="bottom"
、TextView ではテキストが下部に配置されます)。
一般に、layout_
属性は、現在のビューがその親内でどのように動作するかに関連しています。なしの属性layout_
は、ビューのコンテンツがどのように動作するかを決定します。
公式ドキュメントの詳細を読む必要があります。以下の LinearLayout のコードを試して、これがどのように機能するかを確認してください
enter <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/some"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="100dip"
android:height="100dip"
android:text="SAMPLE"
android:gravity="center"
/>
<TextView
android:id="@id/more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SAMPLE"
android:layout_gravity="center"
/></LinearLayout>here
id の @ は、リソース (R.java にコンパイルされる) について話していることを Android に伝えます。+ は、既存のリソースを参照するのではなく、新しいリソースを作成していることを意味します。
layout_width (および layout_height) は、"wrap_content" または "fill_parent" (API の "match_parent" >= 11) のいずれかです。
幅 (および高さ) は、指定された単位 (px、sp、dip など) でのコンポーネントの実際の幅です。
layout_gravity は、子の重力を指定します。重力は、コンポーネント自体の重力を指定します。
ドキュメントを読む必要があります。一部の属性は android.view.View から継承され、その他はオブジェクトの属性です。