如何将<include>布局移动到视图的底部</include>

时间:2013-08-20 19:35:12

标签: android

我试图将我所包含的视图推到布局的底部,但是我没有任何运气。目前它位于布局的顶部。相同的代码如下:

<?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"
    android:background="@color/altercolor2"
    android:clickable="true"
    android:orientation="vertical" >

    <include
        layout="@layout/layout_grid_details_header_view"
        android:visibility="gone" />

     <include layout="@layout/last_updated_time" />

    <RelativeLayout
        android:id="@+id/markets_column_names"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/black"
        android:paddingBottom="3dp" >

        <TextView
            android:id="@+id/markets_column_name1"
            android:layout_width="75dp"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/markets_column_name2"
            android:textSize="12sp"
            android:gravity="right" />

        <TextView
            android:id="@+id/markets_column_name2"
            android:layout_width="75dp"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/markets_column_name3"
            android:textSize="12sp"
            android:gravity="right" />

        <TextView
            android:id="@+id/markets_column_name3"
            android:layout_width="85dp"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:textSize="12sp"
            android:paddingRight="6dp"
            android:gravity="right" />
    </RelativeLayout>

    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/markets_grid_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />



       <include layout="@layout/loading_no_results" />

</LinearLayout>

我希望切换到列表底部的主要内容是:<include layout="@layout/last_updated_time" /> 所以,我尝试过我也尝试过设置paddingbottom andlayout_below:relavitive layout id,并尝试设置layout_gravity = bottom和gravity = botttom,仍然没有运气。任何线索如何将其推到视图的底部,这样即使它仍然可见列表很长,但在视图的底部,就像重叠底部的列表视图一样。

谢谢!贾斯汀

3 个答案:

答案 0 :(得分:0)

由于根layout是具有垂直LinearLayout的{​​{1}},因此将按照您拥有它们的顺序绘制它。简单地将它作为xml中的最后一个orientation将其绘制在前一个View之下,然后您可以使用边距,填充,以及任何可以使其达到您想要的位置。

更好的选择是将根View更改为layout并将RelativeLayout置于问题属性

View

您可能需要调整其他 android:layout_alignParentBottom="true 的某些属性才能获得您想要的内容,但如果没有看到它应该看起来的图像则很难说。另外,Views不能使用其父android:layout_below=""作为layout ... LinearLayout只有RelativeLayout的属性。

使用代码示例编辑

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/altercolor2"
    android:clickable="true" >

    <include
        layout="@layout/layout_grid_details_header_view"
        android:visibility="gone" />

     <include layout="@layout/last_updated_time"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentBottom="true" />

    <RelativeLayout
        android:id="@+id/markets_column_names"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/black"
        android:paddingBottom="3dp" >

        <TextView
            android:id="@+id/markets_column_name1"
            android:layout_width="75dp"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/markets_column_name2"
            android:textSize="12sp"
            android:gravity="right" />

        <TextView
            android:id="@+id/markets_column_name2"
            android:layout_width="75dp"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/markets_column_name3"
            android:textSize="12sp"
            android:gravity="right" />

        <TextView
            android:id="@+id/markets_column_name3"
            android:layout_width="85dp"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:textSize="12sp"
            android:paddingRight="6dp"
            android:gravity="right" />
    </RelativeLayout>

    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/markets_grid_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />



       <include layout="@layout/loading_no_results" />

</RelativeLayout >

答案 1 :(得分:0)

尝试使用框架布局:将当前的linearlayout设为第一个子项(删除您想要移动到底部的包含视图)。将包含视图作为第二个视图,并将其layout_gravity设置为bottom。

答案 2 :(得分:0)

赋予layout_widthlayout_height属性以包含标签,然后可以为其赋予其父标签属性中的任何一个