当前位置: 代码迷 >> Android >> 关于layout的有关问题
  详细解决方案

关于layout的有关问题

热度:98   发布时间:2016-05-01 14:53:16.0
关于layout的问题
一个LinearLayout中有三个元素, 顶部一个head,底部一个footer,中间一个listView。目前出现了个问题,footer没有出现,被listView盖住了。不清楚什么问题,请牛人指点。xml如下:
XML code
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:orientation="vertical" android:layout_width="fill_parent"    android:layout_height="fill_parent" >        <include layout="@layout/head" />        <FrameLayout        android:id="@+id/fragment_container"        android:layout_width="match_parent"        android:layout_height="match_parent" >         <include layout="@layout/main2" />    </FrameLayout>        <FrameLayout        android:id="@+id/fragment_footer"        android:layout_width="match_parent"        android:layout_height="match_parent" >        <include layout="@layout/mytab" />    </FrameLayout></LinearLayout>



下面是layout/main2.xml

XML code
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="match_parent"    android:orientation="vertical">        <ListView        android:id="@+id/list"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:divider="#b5b5b5"        android:dividerHeight="1dp"        android:listSelector="@drawable/list_selector" /></LinearLayout>


是不是LinearLayout用的有问题,请指点之。
还有两个小问题: 
1)fill_parent和match_parent有什么区别;
2)android:layout_gravity和android:gravity有什么区别。

多谢了。。。

------解决方案--------------------
给你的三个部分添加android:layout_weight属性,顶部和底部设置0,中间设置1

fill_parent和match_parent没区别

android:layout_gravity和android:gravity区别在于,layout_gravity是控件相对于父控件的位置,gravity是控件中显示内容的位置
------解决方案--------------------
android:layout_gravity 用来设置控件相对于其父控件的布局;
android:gravity 用来设置控件自身内容在控件中的布局;

从Android2.2中match_parent和fill_parent是一个意思,match_parent更贴切。如果考虑低版本的使用情况你就需要用fill_parent了。

footer被遮挡的问题,楼主可以考虑用RelativeLayout,或者在LinearLayout中为控件设置layout_weight属性