2016-07-20 40 views
0

我想要实现的布局,看起来像这样滚动型与alignparentbottom元素

make offer layout

在以上内容是滚动和“出价”按钮会在屏幕的底部。但是,每当用户开始输入时,它应该出现在键盘上方,以便轻松点击。 我已经过类似的回答,如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" 参数在底部对齐按钮和添加的内容到滚动型的其余部分。

回答

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" 
+0

清单部分标签已经完成。与其他的修改尝试 –

+0

没有没有工作..行为仍然是相同的 –

0

只需要一个参数来工作

android:isScrollContainer="true" 

添加此到<ScrollView />

参考here

,只有一个在清单

android:windowSoftInputMode="adjustResize"