我创建了一个带有表单的活动。因为表单很长,所以我使用了scrollview。问题是,当键盘启动时,scrollview不会改变。键盘与滚动视图的最后一部分重叠。
我使用了16个目标的25分钟的最小Sdk。
我一直在努力解决这个问题,任何人都可以帮助我解决这个问题,提前谢谢。
我一直在尝试使用此代码更改清单:
android:windowSoftInputMode="stateAlwaysHidden|adjustResize|adjustPan"
和我活动中的代码
context.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
以下是完整XML
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_create_new_user"
style="@android:style/Widget.DeviceDefault.Light.ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
android:paddingTop="22dp"
android:scrollbarSize="20dp"
tools:context="com.jlmaychinny.app.cashbilis.Ui_Activities.CreateNewUserActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/nav_header_vertical_spacing"
android:paddingLeft="@dimen/nav_header_vertical_spacing"
android:paddingRight="@dimen/nav_header_vertical_spacing"
android:paddingTop="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="Create your account by providing the following."
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="16sp"
tools:ignore="HardcodedText" />
<com.jlmaychinny.app.cashbilis.CircleImageView.CircleImageView
android:id="@+id/createnewuser_profile_image"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_gravity="center"
android:src="@drawable/person_icon"
app:civ_border_color="@color/colorPrimaryDark"
app:civ_border_width="5dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Name:"
android:textColor="@android:color/white"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/createnewuser_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/edittext_design"
android:hint="Juan Dela Cruz"
android:inputType="textPersonName"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textColorHint="@android:color/darker_gray"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="State:"
android:textColor="@android:color/white"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/createnewuser_address_state"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/edittext_design"
android:hint="Davao Del Sur"
android:inputType="textPostalAddress"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textColorHint="@android:color/darker_gray"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="City:"
android:textColor="@android:color/white"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/createnewuser_address_city"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/edittext_design"
android:hint="Davao City"
android:inputType="textPostalAddress"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textColorHint="@android:color/darker_gray"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Home Address:"
android:textColor="@android:color/white"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/createnewuser_address_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/edittext_design"
android:hint="Blk.16 Pag-asa st.,Brgy. Forever"
android:inputType="textPostalAddress"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textColorHint="@android:color/darker_gray"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Email:"
android:textColor="@android:color/white"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/createnewuser_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/edittext_design"
android:hint="cashBilis@CashBilis.com"
android:inputType="textEmailAddress"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textColorHint="@android:color/darker_gray"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="10">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="8"
android:text="Password:"
android:textColor="@android:color/white"
tools:ignore="HardcodedText" />
<ImageButton
android:id="@+id/createnewuser_show_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="@android:color/transparent"
android:padding="5dp"
android:src="@drawable/ic_visibility"
tools:ignore="ContentDescription" />
</LinearLayout>
<EditText
android:id="@+id/createnewuser_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:background="@drawable/edittext_design"
android:hint="************"
android:inputType="textPassword"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textColorHint="@android:color/darker_gray"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/createnewuser_password_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:background="@drawable/edittext_design"
android:hint="Confirm your password"
android:inputType="textPassword"
android:textAlignment="center"
android:textColor="@android:color/black"
android:textColorHint="@android:color/darker_gray"
android:textSize="18sp"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/createnewuser_btn"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@drawable/button"
android:text="CREATE USER"
android:textColor="@android:color/white"
tools:ignore="HardcodedText" />
</LinearLayout>
</ScrollView>
答案 0 :(得分:0)
在活动中的mainfiest文件中添加android:windowSoftInputMode =“adjustPan” 并使用在editx中使用的edit xml 机器人:SINGLELINE = “真”
答案 1 :(得分:0)
我认为这是因为你同时保留了“adjustResize | adjustPan”。
从Androidmainfest.xml中删除adjustPan (例如:机器人:windowSoftInputMode = “stateAlwaysHidden | adjustResize”) 还删除了context.getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);来自你的java文件。
我认为这会对你有所帮助。
答案 2 :(得分:0)
您应该尝试在 scrollView 上使用 addOnLayoutChangeListener
,如下所示:
scrollView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
if (bottom < oldBottom) {
scrollView.postDelayed(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
}, 100);
}
}
});