これらの類似したタイプの属性に完全に戸惑いました
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_parentwidthlayout_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 から継承され、その他はオブジェクトの属性です。