浏览 7903 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-28
最后修改:2011-08-28
该图片中为android布局: 总布局为 RelativeLayout AtLeft 为居左 <TextView android:background="#ff0000ff" android:id="@+id/tvwAtLeft" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="AtLeft" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></TextView> AtRight为居右 <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:id="@+id/tvwAtRight" android:text="AtRight" android:background="#ff0000ff"></TextView> Scroll为中间的布局 <TextView android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/tvwAtLeft" android:layout_width="fill_parent" android:id="@+id/tvwScrolling" android:layout_toLeftOf="@+id/tvwAtRight" android:text="Scrolling" android:background="#FFFF0000"></TextView> 在中间的布局设置了android:layout_width="fill_parent" android:layout_toRightOf="@+id/tvwAtLeft" android:layout_toRightOf="@+id/tvwAtLeft" 三个属性后,那么将会有类似于LinearLayout布局中的layout_weight="1"(大于0的值)一样的效果,宽度进行了自适应 xml代码如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:id="@+id/tvwAtRight" android:text="AtRight" android:background="#ff0000ff"></TextView> <TextView android:background="#ff0000ff" android:id="@+id/tvwAtLeft" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="AtLeft" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></TextView> <TextView android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/tvwAtLeft" android:layout_width="fill_parent" android:id="@+id/tvwScrolling" android:layout_toLeftOf="@+id/tvwAtRight" android:text="Scrolling" android:background="#FFFF0000"></TextView> </RelativeLayout> 但是如果中间再加多一个Scrolling2的TextView,意图想将Scrolling 和Scrolling2平分中间的部分,那么效果则不一样 代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:id="@+id/tvwAtRight" android:text="AtRight" android:background="#ff0000ff"></TextView> <TextView android:background="#ff0000ff" android:id="@+id/tvwAtLeft" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="AtLeft" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></TextView> <TextView android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/tvwAtLeft" android:layout_width="fill_parent" android:id="@+id/tvwScrolling" android:text="Scrolling" android:background="#FFFF0000" android:layout_toLeftOf="@+id/tvwScrolling2"></TextView> <TextView android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/tvwAtRight" android:id="@+id/tvwScrolling2" android:background="#ff00ff00" android:layout_width="fill_parent" android:layout_toRightOf="@+Id/tvwAtScrolling" android:text="Scrolling2"></TextView> </RelativeLayout> 效果如下 总结: android 中搞比较灵活的布局,目前这套api来说还是不够理想啊, 尤其是不能通过百分比的方式来进行布局,即使能够通过linearlayout中的weight,也往往未能达到所需的目的。 这样一来,很多灵活的布局,尤其在自适应屏幕上面,设计者可得花上不少的心思了。 期望谷歌以及android的开发团队们,早日作出能够适用于百分比属性的布局,类似于html 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |