显示软键盘时如何更改布局

时间:2015-05-02 07:45:06

标签: android android-layout

我有一个活动的以下布局......

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<ScrollView
    android:id="@+id/scroll_view"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:scrollbars="vertical"
    android:fillViewport="true"
    android:background="#3ba4a4a4"
    android:fadeScrollbars="true">

    <TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textIsSelectable="false"
        android:text="@string/test_text"
        android:textSize="40sp"/>

</ScrollView>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="2dp">

    <EditText
        android:id="@+id/edit_text"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="@string/edit_text_hint"
        android:layout_marginTop="8dp"
        android:theme="@style/InputMethodTheme"/>

    <ImageButton
        android:id="@+id/button_send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_action_send"/>

    </LinearLayout>

当软键盘打开时,我希望TextView的结尾与EditText一起... 关于如何做到这一点的任何想法? EditText正常上升,但阻止了文本视图

我在我的活动中的清单文件中尝试了以下内容

android:windowSoftInputMode="adjustPan"

但是动作栏消失了,我不想要......

更新

我在TextView

中尝试了以下内容
android:layout_gravity="bottom"

它似乎反应,因为我想要它,但一些 它被删除之前的行和额外的空格 在最后一个字之后添加......

1 个答案:

答案 0 :(得分:0)

基本上你需要听键盘开启事件。 更多How to capture the "virtual keyboard show/hide" event in Android?

在处理具有软导航按钮的设备时要小心,例如Nexus 5,您可能需要考虑导航栏的高度。