android - 相对布局上的 <include> 问题, View 始终位于顶部

标签 android include android-relativelayout

我有一些布局,我想在其中inlcude/> 一个包含两个按钮的底部栏。很简单吧?好吧,我在完成此操作时遇到了问题,因为无论我为其设置的参数如何,按钮都设置在 View 的顶部。

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>merge> 设置为 wrap_content 高度和宽度,但这就是我已经拥有的方式,但仍然不行。

有什么想法吗?

最佳答案

<include />真的只是剪切和粘贴和<merge />表示加入RelativeLayout。所以你需要给这些元素RelativeLayout规则,尝试添加:

android:layout_above="@+id/button_container"

到分隔线 View 。并添加:

android:layout_alignParentBottom="true"

到 LinearLayout。

关于android - 相对布局上的 <include> 问题, View 始终位于顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868873/

相关文章:

android - 如何在循环内动态使用带有标记的 addRule() ,在膨胀 View 时会出现异常?

android - Espresso - 匹配一个类的实例

html - css 文件路径正确,css 代码有效,但不起作用

c - 为什么我在使用 GCC 编译时不必包含我的头文件?

android: onClickListener for relativelayout

android - iOS:如何实现相对布局

Java - Stack.pop 不返回最后添加的项目

android - 如何在 Android (Xamarin) 中以编程方式从当前主题中获取颜色

android - Unity3D - 多个 dex 文件定义了为 android (Firebase) 构建时的异常

C递归头文件包含问题?