带有alignparentbottom元素

时间:2016-07-20 11:25:46

标签: android xml android-layout

我想实现看起来像这样的布局

make offer layout

其中上述内容可滚动,“Make offer”按钮位于屏幕底部。但是每当用户开始输入时,它应该出现在键盘上方,这样就很容易点击。 我经历过像this这样的类似问题。但这些解决方案在我的案例中并不起作用。添加screencast以显示布局的当前行为。

当前的xml代码

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

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

        <ScrollView
            android:id="@+id/scroll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/toolbar"
            android:layout_marginBottom="@dimen/padding_48dp">

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

                <android.support.v7.widget.CardView
                    android:id="@+id/firstcard"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/padding_8dp"
                    android:layout_marginLeft="@dimen/padding_8dp"
                    android:layout_marginRight="@dimen/padding_8dp"
                    android:layout_marginTop="@dimen/padding_8dp"
                    app:cardCornerRadius="@dimen/padding_4dp">

                    <RelativeLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="@dimen/padding_8dp"
                        android:layout_marginRight="@dimen/padding_8dp">

                        <RelativeLayout
                            android:id="@+id/insidecardone"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:layout_margin="@dimen/padding_4dp">

                            <TextView
                                android:id="@+id/constant_value"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginTop="@dimen/padding_4dp"
                                android:text="Charge per day"
                                android:gravity="center"
                                android:textSize="@dimen/text_size_big_16" />


                            <EditText
                                android:id="@+id/tvRentPerday"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentEnd="true"
                                android:layout_alignParentRight="true"
                                android:hint="Rs.        "
                                android:gravity="center"

                                android:inputType="number"
                                android:maxLength="4"
                                android:textColor="@android:color/black"
                                android:textSize="@dimen/text_size_big_16" />
                        </RelativeLayout>

                        <RelativeLayout
                            android:id="@+id/insidecardtwo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/insidecardone"
                            android:layout_margin="@dimen/padding_4dp">

                            <TextView
                                android:id="@+id/con_duration"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"

                                android:layout_marginTop="@dimen/padding_4dp"
                                android:text="Duration (Days)"
                                android:textSize="@dimen/text_size_big_16" />


                            <TextView
                                android:id="@+id/num_days"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentEnd="true"
                                android:layout_alignParentRight="true"
                                android:gravity="center_horizontal"
                                android:paddingEnd="@dimen/padding_16dp"
                                android:paddingRight="@dimen/padding_24dp"
                                android:text="10"
                                android:textSize="@dimen/text_size_big_16"

                                />




                        </RelativeLayout>


                        <RelativeLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_margin="@dimen/padding_4dp"
                            android:id="@+id/third_relative"
                            android:layout_below="@+id/insidecardtwo">

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:id="@+id/negotiable_text"

                                android:layout_marginTop="@dimen/padding_4dp"
                                android:textSize="@dimen/text_size_big_16"
                                android:text="Negotiable"/>

                            <Switch
                                android:id="@+id/negotiable"
                                android:layout_width="wrap_content"
                                android:showText="true"
                                android:textColor="@color/white"
                                android:layout_height="wrap_content"
                                android:layout_alignParentRight="true"/>

                        </RelativeLayout>
                        <View
                            android:layout_width="match_parent"
                            android:layout_height="1dp"
                            android:layout_below="@+id/third_relative"
                            android:layout_margin="@dimen/padding_8dp"
                            android:background="@color/grey_lighter" />

                        <RelativeLayout
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/third_relative"
                            android:layout_margin="@dimen/padding_4dp"
                            android:paddingBottom="@dimen/padding_8dp"
                            android:paddingTop="@dimen/padding_24dp">

                            <TextView
                                android:id="@+id/total_constant"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"
                                android:layout_alignParentStart="true"
                                android:layout_marginTop="@dimen/padding_4dp"
                                android:gravity="center_vertical"
                                android:text="Total Amount"
                                android:textSize="@dimen/text_size_big_16" />

                            <TextView
                                android:id="@+id/tvAmount"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentEnd="true"
                                android:layout_alignParentRight="true"
                                android:gravity="center_vertical"

                                android:textColor="#ff4f00"
                                android:textSize="@dimen/text_size_big_16"
                                android:textStyle="bold" />

                            <TextView
                                android:id="@+id/total_constant_mutterfly"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"
                                android:layout_alignParentStart="true"
                                android:layout_below="@+id/total_constant"
                                android:paddingTop="@dimen/padding_4dp"
                                android:text="@string/process_fee_text"
                                android:textColor="@android:color/darker_gray"
                                android:textSize="8sp" />
                        </RelativeLayout>

                    </RelativeLayout>

                </android.support.v7.widget.CardView>

                <android.support.v7.widget.CardView
                    android:id="@+id/middlecard"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/firstcard"
                    android:layout_marginBottom="@dimen/padding_8dp"
                    android:layout_marginLeft="@dimen/padding_8dp"
                    android:layout_marginRight="@dimen/padding_8dp"
                    app:cardCornerRadius="@dimen/padding_4dp">

                    <RelativeLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginBottom="@dimen/padding_8dp"
                        android:layout_marginLeft="@dimen/padding_8dp"
                        android:layout_marginRight="@dimen/padding_8dp">

                        <RelativeLayout
                            android:id="@+id/middlecard_relative"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_centerHorizontal="true"
                            android:layout_margin="@dimen/padding_4dp">

                            <TextView
                                android:id="@+id/deposite"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"
                                android:layout_alignParentStart="true"
                                android:layout_marginTop="@dimen/padding_4dp"
                                android:gravity="center_vertical"
                                android:text="Deposit"
                                android:textSize="@dimen/text_size_big_16" />


                            <TextView
                                android:id="@+id/knowmore"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_below="@+id/deposite"
                                android:text="@string/txt_know_more"
                                android:layout_marginTop="@dimen/padding_8dp"
                                android:textSize="@dimen/text_size_extra_extra_small_10"
                                />


                            <CheckBox
                                android:id="@+id/checkbox"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentEnd="true"
                                android:layout_alignParentRight="true"
                                android:inputType="number"
                                android:paddingEnd="@dimen/padding_16dp"
                                android:paddingRight="@dimen/padding_16dp"
                                android:textColor="@android:color/black"
                                android:textSize="@dimen/text_size_big_16" />
                        </RelativeLayout>

                        <RelativeLayout
                            android:id="@+id/middletwo"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/middlecard_relative"
                            android:layout_margin="@dimen/padding_4dp"
                            android:visibility="gone"
                            >

                            <TextView
                                android:id="@+id/middle_con_duration"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"
                                android:text="Charge (Rs.)"

                                android:textSize="@dimen/text_size_big_16" />

                            <EditText
                                android:id="@+id/etDeposit"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentEnd="true"
                                android:layout_alignParentRight="true"
                                android:gravity="center"
                                android:paddingEnd="@dimen/padding_16dp"
                                android:paddingRight="@dimen/padding_16dp"
                                android:hint="1000"

                                android:maxLength="4"
                                android:inputType="number"
                                android:textSize="@dimen/text_size_big_16"

                                />
                        </RelativeLayout>
                    </RelativeLayout>

                </android.support.v7.widget.CardView>


                <android.support.v7.widget.CardView
                    android:id="@+id/seccard"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/middlecard"
                    android:layout_marginBottom="@dimen/padding_8dp"
                    android:layout_marginLeft="@dimen/padding_8dp"
                    android:layout_marginRight="@dimen/padding_8dp"
                    app:cardCornerRadius="@dimen/padding_4dp">

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center_horizontal"
                        android:orientation="vertical">

                        <TextView
                            android:id="@+id/describe_constant_text"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:layout_marginTop="@dimen/padding_8dp"
                            android:text="Describe Your item"
                            android:textColor="#ff4f00"
                            android:textStyle="bold" />


                        <RelativeLayout
                            android:id="@+id/rlTohide"
                            android:layout_marginTop="@dimen/padding_4dp"
                            android:layout_width="160dp"
                            android:layout_height="120dp"
                            android:background="@drawable/greyborder_transparentbg"
                            >

                            <ImageView
                                android:id="@+id/img1"
                                android:layout_centerInParent="true"
                                android:layout_width="40dp"
                                android:src="@drawable/addimg"
                                android:layout_height="40dp" />

                            <TextView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_below="@id/img1"
                                android:text="(Optional)"
                                android:textSize="@dimen/text_size_extra_extra_small_10"
                                android:textColor="@color/text_grey_opc"
                                android:layout_centerInParent="true"
                                />


                        </RelativeLayout>


                        <ImageView
                            android:visibility="gone"
                            android:id="@+id/imgResource"
                            android:layout_width="120dp"
                            android:layout_height="120dp"
                            android:layout_gravity="center"
                            android:layout_marginTop="@dimen/padding_8dp"
                            />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="@dimen/padding_8dp"
                        android:layout_marginRight="@dimen/padding_8dp"
                        android:layout_marginTop="180dp"
                        android:orientation="vertical">

                        <RelativeLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/insidecardone"
                            android:layout_margin="@dimen/padding_4dp"
                            android:layout_marginLeft="@dimen/padding_8dp"

                            android:layout_marginRight="@dimen/padding_8dp">

                            <TextView
                                android:id="@+id/con_product_name"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"
                                android:layout_marginTop="8dp"
                                android:text="Name Of Product"
                                android:textSize="@dimen/text_size_big_16" />

                            <EditText
                                android:id="@+id/product_name"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentEnd="true"
                                android:layout_toEndOf="@+id/con_product_name"
                                android:layout_toRightOf="@+id/con_product_name"

                                android:layout_alignParentRight="true"
                                android:hint="E.g. Nikon DSLR"
                                android:paddingEnd="@dimen/padding_16dp"
                                android:paddingRight="@dimen/padding_16dp"
                                android:maxLength="30"
                                android:inputType="textPersonName"
                                android:layout_marginLeft="@dimen/padding_16dp"
                                android:layout_marginStart="@dimen/padding_16dp"
                                android:textColor="@android:color/black"
                                android:textSize="@dimen/text_size_big_16"/>
                        </RelativeLayout>

                        <RelativeLayout
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/insidecardtwo"
                            android:layout_margin="@dimen/padding_4dp"
                            android:layout_marginBottom="@dimen/padding_8dp"
                            android:layout_marginLeft="@dimen/padding_8dp"
                            android:layout_marginRight="@dimen/padding_8dp">

                            <TextView
                                android:id="@+id/Description"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_alignParentLeft="true"
                                android:text="Description :"
                                android:textSize="@dimen/text_size_big_16" />

                            <EditText
                                android:id="@+id/desc_box"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:layout_below="@+id/Description"
                                android:hint="E.g. Comes with 18-55 mm lens, charger and carry case"
                                android:layout_marginTop="@dimen/padding_8dp"
                                android:background="@drawable/white_border_request_screen"
                                android:textColor="@android:color/darker_gray"
                                android:textSize="@dimen/text_size_big_16" />

                        </RelativeLayout>


                    </LinearLayout>

                </android.support.v7.widget.CardView>

            </RelativeLayout>

        </ScrollView>

        <Button
            android:id="@+id/makeOffer"
            android:layout_width="match_parent"
            android:layout_height="@dimen/padding_48dp"
            android:layout_alignParentBottom="true"
            android:background="@color/new_primary_text"
            android:padding="@dimen/padding_8dp"
            android:text="@string/txt_make_offr"
            android:textColor="@android:color/white"
            android:textSize="@dimen/text_size_18"
            />
    </RelativeLayout>

基本上我所做的是将相对布局作为父级并使用android:layout_alignParentBottom="true" 用于对齐底部按钮并将其余内容添加到ScrollView的参数。

2 个答案:

答案 0 :(得分:0)

设置您的ScrollView以上优惠按钮并删除保证金

<ScrollView
        android:id="@+id/scroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/toolbar"
        android:layout_above="@+id/makeOffer">

更改清单

中活动的windowSoftInputMode
android:windowSoftInputMode="adjustResize"

答案 1 :(得分:0)

只需要一个参数

 android:isScrollContainer="true"

将此添加到<ScrollView />

参考here

并且清单中只有一个标记

android:windowSoftInputMode="adjustResize"