【问题标题】:Problems with <include> on a Relative Layout, views always at Top<include> 在相对布局上的问题,视图总是在顶部
【发布时间】:2013-03-29 22:21:00
【问题描述】:

我有一些布局,我想inlcude/&gt; 包含两个按钮的底栏。很简单吧?好吧,无论我为它设置的参数如何,我都无法完成此操作,因为按钮被设置到视图的顶部。

Here's how it currently looks.

这是实际的合并代码:

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

<View
    android:id="@+id/divider"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="?android:attr/dividerHorizontal" />

<LinearLayout
    android:id="@+id/button_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="?android:attr/dividerVertical"
    android:orientation="horizontal"
    android:showDividers="middle" >

    <Button
        android:id="@+id/left_button"
        style="?android:attr/borderlessButtonStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/cancel" />

    <Button
        android:id="@+id/right_button"
        style="?android:attr/borderlessButtonStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/complete" />
</LinearLayout>

这是包含它的布局之一:

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

<TextView
    android:id="@+id/register_title_two"
    style="?android:attr/listSeparatorTextViewStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_margin="8dp"
    android:padding="8dp"
    android:text="@string/i_want_to"
    android:textColor="@android:color/holo_blue_dark" />

<RadioGroup
    android:id="@+id/extend_delete_alert_group"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/register_title_two" >

    <RadioButton
        android:id="@+id/delete_alerts"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:minHeight="32dp"
        android:padding="8dp"
        android:text="@string/delete_alerts"
        android:textSize="14sp" />

    <RadioButton
        android:id="@+id/extend_alerts"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:minHeight="32dp"
        android:padding="8dp"
        android:text="@string/extend_alerts"
        android:textSize="14sp" />
</RadioGroup>

<include
    android:id="@+id/include1"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_alignParentBottom="true"
    layout="@layout/two_button_bar" />

我已经阅读了一些答案,他们都指出将include&gt;merge&gt; 设置为wrap_content 的高度和宽度,但这就是我已经拥有它的方式,它仍然是一个不走。

有什么想法吗?

【问题讨论】:

    标签: android include android-relativelayout


    【解决方案1】:

    &lt;include /&gt; 实际上只是剪切和粘贴,&lt;merge /&gt; 表示加入RelativeLayout。所以需要给这些元素RelativeLayout规则,试试添加:

    android:layout_above="@+id/button_container"
    

    到分隔线视图。并添加:

    android:layout_alignParentBottom="true"
    

    到线性布局。

    【讨论】:

    • 工作得很好,谢谢,我假设我可以在包含标签本身中设置属性,我想它不会那样工作:P
    • That assumption isn't wrong 必然,但我相信在这种情况下&lt;merge /&gt; 胜过&lt;include /&gt;
    【解决方案2】:

    您可以在 xml 的标签中提供一个 id,然后在您想要的 RelativeLayout 中的布局,您可以使用 layout_below="@id/-includedlayout-id

    这将按照您的意愿对齐布局。

    <include android:id="@+id/include1"
    layout="-yourLayout-"/>
    
    <RelativeLayout
    ...
    android:layout_below="@id/include1>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多