2016-07-07 13 views
0

Ich habe eine Karte Layout, das eine ScrollView mit einem Edit innerhalb davon enthält, darunter sind 2 Tasten.Move Tasten auf der Tastatur öffnen Android

Ich habe ein Problem, dass, wenn ich die Tastatur öffnen und tippen, bis es genug Text gibt, dass die Edit beginnt, die Schaltflächen zu erweitern, die unter der Tastatur ausgeblendet werden.

Ich möchte es so machen, dass die Tasten immer über der Tastatur sind, so wie die Unterseite des EditText immer leicht darüber ist.

Mein Layout ist wie folgt:

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> 

Vielen Dank für jede Hilfe! Es hat mich wirklich

Antwort

0

Ersetzen Sie Ihre LinearLayout mit einem RelativeLayout, richten Sie die ScrollView an die Spitze des neuen RelativeLayout, stellen Sie die ID des Buttons Behälter (die andere RelativeLayout-buttonsLayout - wie von der ScrollView erwartet, auf den gleichen Tasten Behälter - es auf den Boden der RelativeLayout Mutter auszurichten und seine Höhe zu wrap_content eingestellt):

<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>