我有一个包含4个片段的活动。由于我不想显示键盘,如果来自其他活动或应用程序,我已经设置了:
android:windowSoftInputMode="stateAlwaysHidden"
在我的AndroidManifest文件中。
在我的一个片段中,有一个按钮可以打开一个包含Edittexts的Dialog片段。每当我单击按钮时,都会打开DialogFrament并带有它的软键盘。当我按下“后退”按钮或“取消”按钮时,键盘会隐藏,但键盘后面的白色布局也是可见的,并且经过一段时间的延迟后会隐藏,这掩盖了我的布局,看上去很不方便。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorbackground">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:elevation="0dp">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="#ffffff"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
app:statusBarScrim="@color/white">
<RelativeLayout
android:id="@+id/R1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:paddingBottom="30dp"
android:paddingLeft="30dp"
android:paddingRight="10dp"
android:paddingTop="30dp"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="1.5">
<RelativeLayout
android:id="@+id/imagelayout"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerVertical="true">
<ImageView
android:id="@+id/picture"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/kj_boy" />
<TextView
android:id="@+id/name_initial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text=""
android:textAllCaps="true"
android:textColor="#212121"
android:textSize="36sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/imagelayout"
android:paddingLeft="20dp">
<TextView
android:id="@+id/textname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:gravity="right"
android:text=""
android:textColor="#212121"
android:textSize="16sp" />
<TextView
android:id="@+id/textphone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textname"
android:layout_marginTop="5dp"
android:text=""
android:textColor="#444444"
android:textSize="14sp" />
<RelativeLayout
android:id="@+id/maillayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textphone"
android:layout_marginTop="5dp"
android:visibility="gone">
<TextView
android:id="@+id/textmail2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:ellipsize="end"
android:gravity="left"
android:maxLines="1"
android:text="asdasd"
android:textColor="#656565"
android:textSize="14sp" />
<ImageView
android:id="@+id/verify_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_centerVertical="true"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@+id/textmail2"
app:srcCompat="@drawable/kj_success" />
</RelativeLayout>
</RelativeLayout>
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imagelayout"
android:layout_marginTop="0dp" />
</RelativeLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/transparent"
android:contentInsetEnd="0dp"
android:contentInsetLeft="0dp"
android:contentInsetRight="0dp"
android:contentInsetStart="0dp"
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
app:contentInsetStart="0dp"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/closee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:padding="16dp"
app:srcCompat="@drawable/closesvgnormal" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/closee"
android:layout_toRightOf="@+id/avatar"
android:gravity="center_vertical"
android:paddingLeft="16dp">
<TextView
android:id="@+id/toolbar_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#444444"
android:textSize="18sp" />
</RelativeLayout>
<ImageView
android:id="@+id/avatar"
android:layout_width="48dp"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/padding_10dp"
android:padding="6dp"
android:visibility="gone"
app:srcCompat="@drawable/kj_boy" />
<View
android:id="@+id/toolbar_line"
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:layout_alignParentBottom="true"
android:background="@color/colorDivider"
android:visibility="gone" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorbackground"
android:orientation="vertical">
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
如果键盘在“活动”中打开,则不会发生这种情况。