在用xml布局文件来部署Android的界面的时候,遇到过这样的一些很相近的属性:android:layout_xxx和android:xxx。例如,android:layout_height和android:height,android:layout_gravity和android:gravity等等。对于造成这方面知识混淆的原因是没有彻底的明白布局位置和绝对位置的区别。下面是一个小实验。
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="200dip"
android:layout_height="60dip" android:layout_gravity="center" android:background="#00ff00" android:orientation="horizontal" > <TextView android:id="@+id/textView1" android:layout_width="50dip" android:layout_height="40dip" android:layout_marginRight="2dip" android:background="#ff0000" android:text="TextA" android:gravity="bottom"//对子控件中的文字对齐方式进行了修改,相对于子控件而言的 android:layout_gravity="center"//子控件相对于layout而言 /> <TextView android:id="@+id/textView2" android:layout_width="50dip" android:layout_height="40dip" android:background="#ff0000" android:text="TextB" android:gravity="right" android:height="60dip"//用来指定固定的大小,这句话起不了效果,为什么。 /> </LinearLayout>
如图所示:所以,有下面的一般结论:android:layout_xxx都是相对于其父类而言的,而android:xxx都是相对于自己的内容而言的。
新手发帖,望指点