adjustPan 推送我的布局并隐藏状态栏
adjustPan pushing my layout and hiding status bar
在清单中使用 adjustPan 将我的布局推到顶部并使我的 UI 看起来很荒谬。
这是我的 Android 清单:
<activity
android:name=".AddNote"
android:label="@string/title_activity_add_note"
android:windowSoftInputMode="stateVisible|adjustPan">
这是我的 XML 文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.dinosaur.cwfei.materialnotes.AddNote">
<include
android:id="@+id/app_bar"
layout="@layout/app_bar_no_spinner" />
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/cardview_margin">
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="fill_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/activity_vertical_margin"
android:orientation="vertical">
<EditText
android:id="@+id/editTextTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin_16"
android:background="@color/transparent"
android:hint="@string/hint_title"
android:textStyle="bold" />
<EditText
android:id="@+id/editTextDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:hint="@string/hint_note" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/margin_16"
android:layout_marginTop="100dp"
android:background="@color/divider_color" />
</LinearLayout>
</ScrollView>
</android.support.v7.widget.CardView>
</LinearLayout>
通过使用 adjustResize 而不是 adjustPan 解决了这个问题,设置 fitsSystemWindows="true" 以防 adjustResize 不起作用。
在 activity 中使用 android:windowSoftInputMode="adjustResize|adjustPan"
。它应该可以正常工作。
在清单中使用 adjustPan 将我的布局推到顶部并使我的 UI 看起来很荒谬。
这是我的 Android 清单:
<activity
android:name=".AddNote"
android:label="@string/title_activity_add_note"
android:windowSoftInputMode="stateVisible|adjustPan">
这是我的 XML 文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.dinosaur.cwfei.materialnotes.AddNote">
<include
android:id="@+id/app_bar"
layout="@layout/app_bar_no_spinner" />
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/cardview_margin">
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="fill_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/activity_vertical_margin"
android:orientation="vertical">
<EditText
android:id="@+id/editTextTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin_16"
android:background="@color/transparent"
android:hint="@string/hint_title"
android:textStyle="bold" />
<EditText
android:id="@+id/editTextDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:hint="@string/hint_note" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="@dimen/margin_16"
android:layout_marginTop="100dp"
android:background="@color/divider_color" />
</LinearLayout>
</ScrollView>
</android.support.v7.widget.CardView>
</LinearLayout>
通过使用 adjustResize 而不是 adjustPan 解决了这个问题,设置 fitsSystemWindows="true" 以防 adjustResize 不起作用。
在 activity 中使用 android:windowSoftInputMode="adjustResize|adjustPan"
。它应该可以正常工作。