2016-07-07 36 views
0

我有一個卡片佈局,其中包含一個帶有編輯器的ScrollView,其下方是2個按鈕。在鍵盤上打開移動按鈕Android

我有一個問題,當我打開鍵盤並鍵入,直到有足夠的文本編輯開始展開按鈕隱藏在鍵盤下。

我想使它的按鈕總是在鍵盤上方,就好像EditText的底部總是略高於它。

我的佈局如下:

CardView 
    LinearLayout(Vertical) 
     ScrollView 
      EditText 
     ButtonsLayout 
      Button 
      Button 

<android.support.v7.widget.CardView 
     android:id="@+id/cv" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 

     android:clickable="true" 
     android:foreground="?android:attr/selectableItemBackground" 
     android:visibility="visible" 
     app:cardElevation="4dp" 
     app:cardUseCompatPadding="true"> 


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

      <ScrollView 
       android:id="@+id/scrollView2" 
       android:layout_width="wrap_content" 
       android:layout_height="0dp" 
       android:layout_above="@+id/buttonsLayout" 
       android:fadeScrollbars="false" 
       android:layout_weight="1"> 


          <EditText 
           android:id="@+id/et_1" 
           android:layout_width="match_parent" 
           android:layout_height="wrap_content" 
           android:layout_marginLeft="10dp" 
           android:layout_marginRight="10dp" 
           android:clickable="true" 
           android:ems="10" 
           android:hint="What&apos;s on your mind?" 
           android:inputType="textCapSentences|textMultiLine" 
           android:maxLength="300" /> 



      </ScrollView> 


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

       <android.support.design.widget.FloatingActionButton 
        android:id="@+id/fabAttach" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_alignParentTop="true" 
        android:layout_marginBottom="10dp" 
        android:layout_marginLeft="125dp" 
        android:layout_marginStart="125dp" 
        android:clickable="true" 
        android:onClick="onAttachClicked" 
        android:src="@drawable/ic_attach" 
        android:visibility="visible" 

        app:borderWidth="0dp" /> 


       <android.support.design.widget.FloatingActionButton 
        android:id="@+id/fabPost" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_marginBottom="10dp" 
        android:layout_marginLeft="10dp" 
        android:layout_toEndOf="@+id/fabAttach" 
        android:layout_toRightOf="@+id/fabAttach" 
        android:clickable="true" 
        android:onClick="onPostSquawkClicked" 
        android:src="@drawable/ic_send_white" 

        app:borderWidth="0dp" /> 


      </RelativeLayout> 

     </LinearLayout> 


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

非常感謝您的幫助!它真的讓我

回答

0

替換您LinearLayoutRelativeLayout,對準ScrollViewRelativeLayout的頂部,設置按鈕容器的id(其他RelativeLayoutbuttonsLayout - 預期由ScrollView;在相同的按鈕容器 - 它對準到母體RelativeLayout的底部並且其高度設定爲wrap_content):

<android.support.v7.widget.CardView 
    android:id="@+id/cv" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    android:foreground="?android:attr/selectableItemBackground" 
    android:visibility="visible" 
    app:cardElevation="4dp" 
    app:cardUseCompatPadding="true"> 


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

     <ScrollView 
      android:id="@+id/scrollView2" 
      android:layout_width="wrap_content" 
      android:layout_height="0dp" 
      android:layout_alignParentTop="true" 
      android:layout_above="@+id/buttonsLayout" 
      android:fadeScrollbars="false" 
      android:layout_weight="1"> 

      <EditText 
       android:id="@+id/et_1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10dp" 
       android:layout_marginRight="10dp" 
       android:clickable="true" 
       android:ems="10" 
       android:hint="What&apos;s on your mind?" 
       android:inputType="textCapSentences|textMultiLine" 
       android:maxLength="300" /> 
     </ScrollView> 

     <RelativeLayout 
      android:id="@+id/buttonsLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true"> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/fabAttach" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_alignParentTop="true" 
       android:layout_marginBottom="10dp" 
       android:layout_marginLeft="125dp" 
       android:layout_marginStart="125dp" 
       android:clickable="true" 
       android:onClick="onAttachClicked" 
       android:src="@drawable/ic_attach" 
       android:visibility="visible" 
       app:borderWidth="0dp" /> 

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/fabPost" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentTop="true" 
       android:layout_marginBottom="10dp" 
       android:layout_marginLeft="10dp" 
       android:layout_toEndOf="@+id/fabAttach" 
       android:layout_toRightOf="@+id/fabAttach" 
       android:clickable="true" 
       android:onClick="onPostSquawkClicked" 
       android:src="@drawable/ic_send_white" 
       app:borderWidth="0dp" /> 
     </RelativeLayout> 
    </RelativeLayout> 
</android.support.v7.widget.CardView>