我有一个卡片布局,其中包含一个ScrollView,里面有一个Edit,下面是2个按钮。
我遇到的问题是,当我打开键盘并输入文字时,编辑开始展开,按钮隐藏在键盘下方。
我想这样做,以便按钮始终位于键盘上方,就像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'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 :(得分:1)
将LinearLayout
替换为RelativeLayout
,将ScrollView
与新RelativeLayout
的顶部对齐,设置按钮容器的ID(另一个{{1}转到RelativeLayout
- 正如buttonsLayout
所期望的那样;在相同的按钮容器上 - 将其对齐到父ScrollView
的底部并将其高度设置为RelativeLayout
):
wrap_content