我希望出现键盘时页脚随键盘上升。
我尝试添加代码android:windowSoftInputMode =“ adjustPan” ,android:windowSoftInputMode =“ adjustResize”和android:windowSoftInputMode =“ adjustResize | stateHidden” 来manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:isScrollContainer="true"
>
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btCancel"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#FFFFFF"
android:text="@string/bt_cancel" />
</LinearLayout>
<EditText
android:layout_width="340dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:background="#00000000"
android:gravity="top|left"
android:hint="@string/tv_comment"
android:inputType="textMultiLine"
android:maxLength="255"
android:maxLines="6"
android:textSize="20sp"
>
</EditText>
</LinearLayout>
</ScrollView>
<Button
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/action_sign_in_short"
android:layout_alignParentBottom="true"
android:textStyle="bold" />
我简化了代码,但我认为这样做不好。因此,添加原始代码。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:isScrollContainer="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btCancel"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#FFFFFF"
android:text="@string/bt_cancel" />
<Button
android:id="@+id/btContribution"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#FFFFFF"
android:text="@string/bt_contribution" />
<EditText
android:id="@+id/etComment"
android:layout_width="340dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:background="#00000000"
android:gravity="top|left"
android:hint="@string/tv_comment"
android:inputType="textMultiLine"
android:maxLength="255"
android:maxLines="6"
android:textSize="20sp" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<Button
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/action_sign_in_short"
android:textStyle="bold" />
</RelativeLayout>
答案 0 :(得分:0)
我认为您可能走了正确的路,尽管我怀疑问题出在LinearLayout
的直接子代ScrollView
上。我相信android:layout_height="wrap_content"
属性可能导致它无法正常工作(我可能错了!)。就是说,我对您的XML布局进行了一些调整(我还没有机会对其进行测试)-您可以查看下面的代码是否对您有用?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:isScrollContainer="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btCancel"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#FFFFFF"
android:text="@string/bt_cancel" />
<EditText
android:layout_width="340dp"
android:layout_height="wrap_content"
android:layout_marginLeft="70dp"
android:background="#00000000"
android:gravity="top|left"
android:hint="@string/tv_comment"
android:inputType="textMultiLine"
android:maxLength="255"
android:maxLines="6"
android:textSize="20sp" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<Button
style="?android:textAppearanceSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/action_sign_in_short"
android:textStyle="bold" />
</RelativeLayout>
过去,我在使用NestedScrollView
方面取得了更大的成功。请注意,如果您不使用AndroidX
,则需要将androidx.core.widget.NestedScrollView
替换为android.support.v4.widget.NestedScrollView
。
希望这会有所帮助-请让我知道您的情况!