相对布局问题

时间:2013-03-01 16:57:06

标签: android relativelayout

我正在开发我的第一个Android应用程序和一个我无法找到解决方案的问题是相对布局和页脚栏。

我已经设置了一个相对布局,底部有一个按钮栏。它可以找到其他线性布局中是否有足够的内容;但是,当没有足够的内容来填充页面时,内容将在按钮栏顶部的底部对齐。我希望它在顶部对齐,底部的按钮栏保持不变。我已经尝试了每个对齐顶部选项,我可以找到并将内容高度设置为fill_parent / match_parent,但所有这些都会导致线性布局中的项目消失。

我该如何解决这个问题?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ViewPost"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#c9c9c9" >

    <LinearLayout
    android:id="@+id/bottom_control_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >
    <Button
        android:id="@+id/btnComment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:drawableLeft="@drawable/content_new_event"
        android:paddingBottom="2dip"
        android:paddingLeft="8dip"
        android:paddingRight="8dip"
        android:paddingTop="2dip"
        android:text="@string/BtnComment"
        android:textColor="#797979"
        android:textSize="14sp" />

    <Button
        android:id="@+id/btnMeToo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:drawableLeft="@drawable/social_add_group"
        android:paddingBottom="2dip"
        android:paddingLeft="8dip"
        android:paddingRight="8dip"
        android:paddingTop="2dip"
        android:text="@string/BtnMeToo"
        android:textColor="#797979"
        android:textSize="14sp" />

    <Button
        android:id="@+id/btnFlag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:drawableLeft="@drawable/flag"
        android:paddingBottom="2dip"
        android:paddingLeft="8dip"
        android:paddingRight="8dip"
        android:paddingTop="2dip"
        android:text="@string/BtnFlag"
        android:textColor="#797979"
        android:textSize="14sp" />

    <Button
        android:id="@+id/btnShare"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1.0"
        android:drawableLeft="@drawable/social_share"
        android:paddingBottom="2dip"
        android:paddingLeft="8dip"
        android:paddingRight="8dip"
        android:paddingTop="2dip"
        android:text="@string/BtnShare"
        android:textColor="#797979"
        android:textSize="14sp" />
    </LinearLayout>

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@id/bottom_control_bar"
    android:layout_marginBottom="5dip"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:layout_marginTop="10dip"
    android:background="#ffffff"
    android:gravity="top"
    android:orientation="vertical"
    android:weightSum="1.0" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <TextView
        android:id="@+id/ticket_id"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:visibility="gone" />

        <ImageView
        android:id="@+id/ticket_owner_image2"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginLeft="1dp"
        android:layout_marginTop="1dp"
        android:background="#797979"
        android:contentDescription="@string/StdImageDesc"
        android:padding="1dp"
        android:scaleType="fitXY"
        android:src="@drawable/picture" />

        <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/ticket_owner_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:layout_marginTop="5dip"
            android:paddingLeft="5dip"
            android:textColor="#595959"
            android:textSize="10sp" />

        <TextView
            android:id="@+id/ticket_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:layout_marginTop="2dip"
            android:paddingLeft="5dip"
            android:textColor="#595959"
            android:textSize="14sp" />

        <TextView
            android:id="@+id/ticket_create_date"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:layout_marginTop="2dip"
            android:paddingLeft="5dip"
            android:textColor="#595959"
            android:textSize="10sp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" >

        <TextView
        android:id="@+id/ticket_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|center_vertical"
        android:layout_margin="5dip"
        android:textColor="#595959"
        android:textSize="14sp" />
    </LinearLayout>

    <ListView
        android:id="@+id/commentlist"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:cacheColorHint="#00000000"
        android:divider="#b5b5b5"
        android:dividerHeight="1dp" />
    </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

尝试以下操作,让我知道这是否是您想要实现的目标:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/ViewPost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#c9c9c9" >

        <ListView
            android:id="@+id/commentlist"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:cacheColorHint="#00000000"
            android:layout_below="@+id/linear1"
            android:layout_above="@+id/bottom_control_bar"
            android:divider="#b5b5b5"
            android:dividerHeight="1dp" />

        <LinearLayout
            android:id="@+id/bottom_control_bar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true" >

            <Button
                android:id="@+id/btnComment"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:drawableLeft="@drawable/dummy_heyzooka_icon_blue"
                android:paddingBottom="2dip"
                android:paddingLeft="8dip"
                android:paddingRight="8dip"
                android:paddingTop="2dip"
                android:text="aa"
                android:textColor="#797979"
                android:textSize="14sp" />

            <Button
                android:id="@+id/btnMeToo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:drawableLeft="@drawable/dummy_heyzooka_icon_blue"
                android:paddingBottom="2dip"
                android:paddingLeft="8dip"
                android:paddingRight="8dip"
                android:paddingTop="2dip"
                android:text="dd"
                android:textColor="#797979"
                android:textSize="14sp" />

            <Button
                android:id="@+id/btnFlag"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:drawableLeft="@drawable/dummy_heyzooka_icon_blue"
                android:paddingBottom="2dip"
                android:paddingLeft="8dip"
                android:paddingRight="8dip"
                android:paddingTop="2dip"
                android:text="ff"
                android:textColor="#797979"
                android:textSize="14sp" />

            <Button
                android:id="@+id/btnShare"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:drawableLeft="@drawable/dummy_heyzooka_icon_blue"
                android:paddingBottom="2dip"
                android:paddingLeft="8dip"
                android:paddingRight="8dip"
                android:paddingTop="2dip"
                android:text="ff"
                android:textColor="#797979"
                android:textSize="14sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginBottom="5dip"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip"
            android:layout_marginTop="10dip"
            android:background="#ffffff"
            android:gravity="top"
            android:orientation="vertical"
            android:weightSum="1.0" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="top"
                android:orientation="horizontal" >

                <TextView
                    android:id="@+id/ticket_id"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:visibility="gone" />

                <ImageView
                    android:id="@+id/ticket_owner_image2"
                    android:layout_width="50dp"
                    android:layout_height="50dp"
                    android:layout_marginLeft="1dp"
                    android:layout_marginTop="1dp"
                    android:background="#797979"
                    android:contentDescription="ada"
                    android:padding="1dp"
                    android:scaleType="fitXY"
                    android:src="@drawable/dummy_heyzooka_icon_blue" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:orientation="vertical" >

                    <TextView
                        android:id="@+id/ticket_owner_name"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dip"
                        android:layout_marginTop="5dip"
                        android:paddingLeft="5dip"
                        android:textColor="#595959"
                        android:textSize="10sp" />

                    <TextView
                        android:id="@+id/ticket_title"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dip"
                        android:layout_marginTop="2dip"
                        android:paddingLeft="5dip"
                        android:textColor="#595959"
                        android:textSize="14sp" />

                    <TextView
                        android:id="@+id/ticket_create_date"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dip"
                        android:layout_marginTop="2dip"
                        android:paddingLeft="5dip"
                        android:textColor="#595959"
                        android:textSize="10sp" />
                </LinearLayout>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center" >

                <TextView
                    android:id="@+id/ticket_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="5dip"
                    android:textColor="#595959"
                    android:textSize="14sp" />
            </LinearLayout>
        </LinearLayout>

    </RelativeLayout>

答案 1 :(得分:0)

嗨首先,当您使用相对布局时要小心,因为如果您更改对齐或对该布局的任何修改它将消失(或)它可能会改变对齐方式,所以不要担心撤消您的布局你可以来现在,您可以在布局中逐个修改项目。