一开始在xml中用gravity和Layout gravity的时候,没有去注意有什么区别,导致在调整界面的时候误用了,总是没法使文字按照要求的位置来显示。
其实从英文字面上也不难理解,Layout gravity我的理解是当前组件对父组件的位置,而gravity是当前组件的内容对当前组件的位置。
下面是设计两行组件左对齐,并且组合在一起居中显示的情况
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/sim_1"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<ImageView
android:id="@+id/sim_icon_1"
android:focusable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:src="@drawable/zzz_ic_sim1" />
<TextView
android:id="@+id/carrier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_toRightOf="@+id/sim_icon_1"
android:layout_alignTop="@+id/sim_icon_1"
android:text="sim ka"/>
</LinearLayout>
<LinearLayout
android:id="@+id/sim_2"
android:layout_below="@id/sim_1"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<ImageView
android:id="@+id/sim_icon_2"
android:focusable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:src="@drawable/zzz_ic_sim2" />
<TextView
android:id="@+id/carrier2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_toRightOf="@+id/sim_icon_2"
android:layout_alignTop="@+id/sim_icon_2"
android:text="sim ka ghrthrtbv"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>