android - 未使用 alignParentBottom

标签 android android-relativelayout

我有一个使用 LinearLayouts 而不是 RelativeLayouts 的布局。我想将无边框按钮添加到我的布局中,如下所示:How to create standard Borderless buttons (like in the design guidline mentioned)?

因此,要使用它,我必须将我的 LinearLayouts 更改为 RelativeLayouts。这在大多数情况下都运行良好。但是,当我尝试将 alignParentBottom 用于其中一个 RelativeLayouts 时,它不起作用 - 它只是与我的其他按钮之一重叠。

enter image description here

这是我的 xml:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".xxx" >

        <com.xxx.xxx.customedittext
            android:id="@+id/qn_et_title"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:drawableRight="@drawable/delete"
            android:hint="@string/qn_et_title_hint"
            android:inputType="textCapSentences|textMultiLine"
            android:paddingTop="5dp" />

        <com.xxx.xxx.customedittext
            android:id="@+id/qn_et_body"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/qn_et_title"
            android:drawableRight="@drawable/delete"
            android:hint="@string/qn_et_body_hint"
            android:inputType="textCapSentences|textMultiLine" />

        <CheckBox
            android:id="@+id/qn_cb_ongoing"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/qn_et_body"
            android:text="@string/qn_cb_ongoing" />

        <Button
            android:id="@+id/qn_b_create"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/qn_cb_ongoing"
            android:text="@string/qn_b_create" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_alignParentBottom="true" >

            <View
                android:layout_width="match_parent"
                android:layout_height="1dip"
                android:layout_alignParentTop="true"
                android:layout_marginLeft="4dip"
                android:layout_marginRight="4dip"
                android:background="?android:attr/dividerVertical" />

            <View
                android:id="@+id/ViewColorPickerHelper"
                android:layout_width="1dip"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_marginBottom="4dip"
                android:layout_marginTop="4dip"
                android:background="?android:attr/dividerVertical" />

            <Button
                android:id="@+id/BtnColorPickerCancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_toLeftOf="@id/ViewColorPickerHelper"
                android:background="?android:attr/selectableItemBackground"
                android:text="@android:string/cancel" />

            <Button
                android:id="@+id/BtnColorPickerOk"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@id/ViewColorPickerHelper"
                android:background="?android:attr/selectableItemBackground"
                android:text="@android:string/ok" />
        </RelativeLayout>
    </RelativeLayout>

</ScrollView>

编辑:这是更新的代码。 ScrollView 与 48dp RelativeView 重叠:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="3dp"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".QuickNoteFragment" >

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="false" >

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <EditText
                android:id="@+id/qn_et_title"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:hint="@string/qn_et_title_hint"
                android:inputType="textCapSentences|textMultiLine"
                android:paddingTop="5dp" />

            <EditText
                android:id="@+id/qn_et_body"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/qn_et_title"
                android:hint="@string/qn_et_body_hint"
                android:inputType="textCapSentences|textMultiLine"
                android:paddingTop="10dp" />

            <CheckBox
                android:id="@+id/qn_cb_ongoing"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@id/qn_et_body"
                android:paddingBottom="10dp"
                android:paddingTop="10dp"
                android:text="@string/qn_cb_ongoing" />
        </RelativeLayout>
    </ScrollView>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_alignParentBottom="true" >

        <View
            android:layout_width="match_parent"
            android:layout_height="1dip"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="4dip"
            android:layout_marginRight="4dip"
            android:background="?android:attr/dividerVertical" />

        <View
            android:id="@+id/ViewColorPickerHelper"
            android:layout_width="1dip"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="4dip"
            android:layout_marginTop="4dip"
            android:background="?android:attr/dividerVertical" />

        <Button
            android:id="@+id/qn_b_cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@id/ViewColorPickerHelper"
            android:background="?android:attr/selectableItemBackground"
            android:text="@android:string/cancel" />

        <Button
            android:id="@+id/qn_b_create"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@id/ViewColorPickerHelper"
            android:background="?android:attr/selectableItemBackground"
            android:text="@string/qn_b_create" />
    </RelativeLayout>

</RelativeLayout>

最佳答案

ScrollView 上使用以下属性:

<RelativeLayout android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout 
        android:id="@+id/bottom" 
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_alignParentBottom="true">
        <!-- rest of the code -->
    </RelativeLayout>

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/bottom" 
        android:layout_alignParentTop="true" >
        <!-- rest of the code -->
    </ScrollView>
<RelativeLayout>

关于android - 未使用 alignParentBottom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171960/

相关文章:

android - 如何删除在Canvas中绘制的图像?

android - 从res文件夹android动态访问图像

java - 多个可绘制背景图像以适应屏幕分辨率

android - 将长按(或任何触摸事件)发送到 ActivityInstrumentationTestCase2 中的 View

Android GridView 全屏

android - Sinch Android聊天应用Bug

android - RelativeLayout 在 onGlobalLayout 中更改高度并保留宽度以填充

android - 在 RelativeLayout 中按中心线对齐 View

Android/kindle 拖拽时偶尔卡顿

android - 如何在相对布局中以父 View 为中心对齐下方的 View