在textview下对齐listview

时间:2016-09-04 21:23:46

标签: android xml android-layout listview

所以我试图在我的textview标题下对齐listviews。但是,我改变布局或重力或其他类似的东西似乎现在将listviews直接放在各自的标题下。 这是它现在的样子: enter image description here

以下是包含标题的XML

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!--Header aligned to top -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/header"
        android:gravity="center"
        android:background="#FC9">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/Drive_Number"
            android:layout_margin="4dp"
            android:textSize="18sp"
            android:textColor="#000"
            android:layout_weight="1"
            android:gravity="center_horizontal"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/Drive_Distance"
            android:layout_margin="4dp"
            android:textSize="18sp"
            android:textColor="#000"
            android:layout_weight="1"
            android:gravity="center_horizontal"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/Drive_Time"
            android:layout_margin="4dp"
            android:textSize="18sp"
            android:textColor="#000"
            android:layout_weight="1"
            android:gravity="center_horizontal"/>
    </LinearLayout>
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scrollbars="vertical"
        android:background="#005"
        android:layout_below="@+id/header"
        android:id="@+id/scrollableContents">

        <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </RelativeLayout>
</LinearLayout>

以下是包含listviews的XML:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="3dp"
        android:textSize="20sp"
        android:textColor="#CCCCCC"
        android:text="Medium Text"
        android:id="@+id/Drive_Number_List"
        android:layout_weight="1"
        android:gravity="center_horizontal"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="3dp"
        android:textSize="20sp"
        android:textColor="#CCCCCC"
        android:text="Medium Text"
        android:id="@+id/Drive_Distance_List"
        android:layout_weight="1"
        android:gravity="center_horizontal"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="3dp"
        android:textSize="20sp"
        android:textColor="#CCCCCC"
        android:text="Medium Text"
        android:id="@+id/Drive_Time_List"
        android:layout_weight="1"
        android:gravity="center_horizontal"/>
</LinearLayout>

2 个答案:

答案 0 :(得分:3)

似乎有两种方法可以实现&#34;对齐&#34;你想要的。

  1. 根据listview项目对齐标题,如图所示: 使用LinearLayout标头。使用textviewsandroid:layout_weight = 1分配三个android:layout_width="0dp"(标题中),并为最左边的gravity="left"设置textviewgravity="right"最中间的textviewgravity="center_horizontal"适用于中间的。

  2. 保持所有中心对齐,占其总屏幕宽度的三分之一: 对标题和列表视图项使用LinearLayout。如上所示,使用布局权重和0dp宽度进行划分。对所有项目使用gravity="center_horizontal"

  3. 注意:使用&#34; gravity&#34;属性,而不是&#34; layout_gravity&#34;

答案 1 :(得分:0)

试试这个,你可以根据需要改变填充

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<!--Header aligned to top -->
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/header"
    android:background="#FC9"
    android:orientation="horizontal">

    <TextView
        android:paddingLeft="10dp"
        android:paddingStart="10dp"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/Drive_Number"
        android:layout_margin="4dp"
        android:textSize="18sp"
        android:textColor="#000"/>
    <TextView
        android:gravity="center"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/Drive_Distance"
        android:layout_toRightOf="@+id/Drive_Number"
        android:layout_margin="4dp"
        android:textSize="18sp"
        android:textColor="#000"/>
    <TextView
        android:paddingRight="10dp"
        android:paddingEnd="10dp"
        android:gravity="right"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/Drive_Time"
        android:layout_toRightOf="@+id/Drive_Distance"
        android:layout_margin="4dp"
        android:textSize="18sp"
        android:textColor="#000"/>
</LinearLayout>
<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbars="vertical"
    android:background="#005"
    android:layout_below="@+id/header"
    android:id="@+id/scrollableContents">

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</RelativeLayout>