我的代码如下:
activity_payment.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_base" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textCard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="19dp"
android:layout_marginTop="20dp"
android:text="Credit card"
android:textAllCaps="true"
android:textColor="@color/colorFuscousGray"
android:textSize="18sp" />
<EditText
android:id="@+id/cardName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textCard"
android:layout_marginLeft="19dp"
android:layout_marginRight="19dp"
android:layout_marginTop="25dp"
android:hint="Name on card"
android:maxLines="1"
android:minLines="1"
android:singleLine="true"
android:textColorHint="@color/colorSilverChaliceac"
android:textSize="13sp" />
<EditText
android:id="@+id/cardNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/cardName"
android:layout_marginLeft="19dp"
android:layout_marginRight="19dp"
android:layout_marginTop="25dp"
android:hint="Credit card number xxxx-xxxx-xxxx-xxxx"
android:inputType="phone"
android:maxLength="19"
android:maxLines="1"
android:minLines="1"
android:singleLine="true"
android:textColorHint="@color/colorSilverChaliceac"
android:textSize="13sp" />
<RelativeLayout
android:id="@+id/expiryLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/cardNumber"
android:layout_marginTop="25dp">
<EditText
android:id="@+id/expiry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="19dp"
android:hint="Expiry MM/YY"
android:inputType="numberDecimal"
android:maxLength="5"
android:maxLines="1"
android:minLines="1"
android:singleLine="true"
android:textColorHint="@color/colorSilverChaliceac"
android:textSize="13sp" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true">
<ImageView
android:layout_width="34dp"
android:layout_height="21dp"
android:layout_gravity="start"
android:src="@drawable/icon_card" />
<EditText
android:id="@+id/cvv"
android:layout_width="93dp"
android:layout_height="wrap_content"
android:layout_marginRight="19dp"
android:gravity="right"
android:hint="CVV"
android:inputType="numberDecimal"
android:maxLength="3"
android:maxLines="1"
android:minLines="1"
android:singleLine="true"
android:textColorHint="@color/colorSilverChaliceac"
android:textSize="13sp" />
</FrameLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/expiryLayout"
android:layout_marginTop="15dp">
<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="19dp"
android:text="Save this card"
android:textColor="@color/colorFuscousGray"
android:textSize="15sp" />
</RelativeLayout>
</RelativeLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/payLayout"
android:layout_width="match_parent"
android:layout_height="53dp"
android:layout_alignParentBottom="true"
android:background="@color/colorRoyalPurple">
<TextView
android:id="@+id/payButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Pay"
android:textAllCaps="true"
android:textColor="@android:color/white" />
</RelativeLayout>
</RelativeLayout>
toolbar_base.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="55dp"
android:background="@drawable/gradient_titlebar">
<ImageView
android:id="@+id/backArrow"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_centerVertical="true"
android:src="@drawable/ic_back_arrow" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/backArrow"
android:textColor="@android:color/white"
android:textSize="18sp" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
的AndroidManifest.xml
<activity
android:name=".activity.PaymentActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustResize|adjustPan" />
即使我设置了所有内容,当软键盘上升时,也无法向上推动布局。有什么我想念的吗?
答案 0 :(得分:0)
删除&#34; adjustPan&#34;
android:windowSoftInputMode="adjustResize"
答案 1 :(得分:0)
&#34; adjustResize&#34;
活动的主窗口总是调整大小以便为软件腾出空间 键盘在屏幕上。
&#34; adjustPan&#34;
活动的主窗口未调整大小以便为软件腾出空间 键盘。相反,窗口的内容会自动平移 这样当前的焦点永远不会被键盘和用户遮挡 总能看到他们正在打字的东西。这通常不太理想 比调整大小,因为用户可能需要关闭软键盘 进入并与窗户的模糊部分互动。
使用adjustResize而不是adjustPan来获得所需的效果。
<activity android:windowSoftInputMode="adjustResize"> </activity>