[英]The keyboard is coming upon the EditText field & thus hiding it. How to prevent the keyboard from hiding the EditText field?
我的EditText位于屏幕底部,因此当我点击它进行编辑时,键盘会将其隐藏。 我希望当我点击EditText时,键盘应保持在其下方且不应将其隐藏。
这是在点击之前显示EditText的屏幕快照的链接: http : //imgur.com/cgme1HT
这是点击EditText后的屏幕快照链接( EditText字段现在位于键盘下方 ): http : //imgur.com/nloFrkn
这是我的SettingUpUserProfile.java文件的代码 :
public class SettingUpUserProfile extends AppCompatActivity {
public static final int TAKE_PHOTO_REQUEST = 0;
public static final int PICK_PHOTO_REQUEST = 1;
private static final int RESULT_LOAD_IMG = 2;
String imgDecodableString;
protected ImageView userProfilePicture;
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting_up_user_profile);
userProfilePicture = (ImageView) findViewById(R.id.userProfilePicture);
userProfilePicture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(SettingUpUserProfile.this);
builder.setTitle(null);
builder.setItems(R.array.pickImage_options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int position) {
switch (position) {
case 0:
Intent intentCaptureFromCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intentCaptureFromCamera, TAKE_PHOTO_REQUEST);
break;
case 1:
Intent chooseFromGalley = new Intent(Intent.ACTION_GET_CONTENT);
chooseFromGalley.setType("image/*");
startActivityForResult(chooseFromGalley, PICK_PHOTO_REQUEST);
break;
}
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
// When an Image is picked
Uri uri = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
// Log.d(TAG, String.valueOf(bitmap));
ImageView imageView = (ImageView) findViewById(R.id.userProfilePicture);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
} catch (Exception e) {
Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG)
.show();
}
}
}
这是我的activity_setting_up_user_profile.xml文件的代码 :
<RelativeLayout 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:background="@color/light_purple"
tools:context="com.abc.xyz.SettingUpUserProfile">
<TextView
android:id="@+id/settingUpUserProfileText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="@string/settingUpUserProfileText1"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="30sp"
android:gravity="center_horizontal|center_vertical"/>
<ImageView
android:id="@+id/userProfilePicture"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/settingUpUserProfileText1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="100dp"
android:clickable="true"
android:src="@drawable/ic_face_white_48dp" />
<TextView
android:id="@+id/settingUpUserProfileText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userProfilePicture"
android:layout_marginTop="5dp"
android:text="@string/settingUpUserProfileText2"
android:textColor="@color/white"
android:textSize="15sp"
android:gravity="center_horizontal|center_vertical"/>
<EditText
android:id="@+id/userName"
android:background="@drawable/phone_number_edit_text_design"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/settingUpUserProfileText2"
android:layout_marginTop="80dp"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:layout_marginRight="10dp"
android:layout_marginEnd="10dp"
android:gravity="center_horizontal|center_vertical"
android:hint="@string/hint_userName"
android:textColor="@color/white"
android:textColorHint="#E0E0E0"
android:textCursorDrawable="@null"
android:inputType="textPersonName"/>
<Button
android:id="@+id/buttonAllSet"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userName"
android:layout_marginTop="20dp"
android:text="@string/button_allSet"
android:textStyle="bold"
android:textColor="@color/light_purple"
android:layout_marginEnd="120dp"
android:layout_marginStart="120dp"
android:gravity="center_horizontal|center_vertical"/>
</RelativeLayout>
我真的不知道该怎么办!
请告诉我。
我是StackOverflow的新手,所以请配合。
提前致谢。
当软键盘位于屏幕底部的EditText视图上方时,我遇到了同样的问题。 我可以通过在AndroidManifest.xml文件的相关活动中添加一行来找到解决方案。 将布局放入ScrollView中。
android:windowSoftInputMode =“ adjustResize | stateHidden”这是整个活动代码的样子:
<activity
android:name="com.my.MainActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_main"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
这里最重要的值是adjustResize。 这样会将整个用户界面上移,以便为软键盘腾出空间。
选项1
尝试在AndroidManifest.xml的活动中使用android:windowSoftInputMode="adjustPan"
选项2
使用ScrollView
作为xml中的父级。 以此替换您的xml:
<ScrollView 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"
tools:context="com.abc.xyz.SettingUpUserProfile" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/light_purple">
<TextView
android:id="@+id/settingUpUserProfileText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:text="@string/settingUpUserProfileText1"
android:textColor="@color/white"
android:textStyle="bold"
android:textSize="30sp"
android:gravity="center_horizontal|center_vertical"/>
<ImageView
android:id="@+id/userProfilePicture"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/settingUpUserProfileText1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="100dp"
android:clickable="true"
android:src="@drawable/ic_face_white_48dp" />
<TextView
android:id="@+id/settingUpUserProfileText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userProfilePicture"
android:layout_marginTop="5dp"
android:text="@string/settingUpUserProfileText2"
android:textColor="@color/white"
android:textSize="15sp"
android:gravity="center_horizontal|center_vertical"/>
<EditText
android:id="@+id/userName"
android:background="@drawable/phone_number_edit_text_design"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/settingUpUserProfileText2"
android:layout_marginTop="80dp"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:layout_marginRight="10dp"
android:layout_marginEnd="10dp"
android:gravity="center_horizontal|center_vertical"
android:hint="@string/hint_userName"
android:textColor="@color/white"
android:textColorHint="#E0E0E0"
android:textCursorDrawable="@null"
android:inputType="textPersonName"/>
<Button
android:id="@+id/buttonAllSet"
android:background="@color/white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userName"
android:layout_marginTop="20dp"
android:text="@string/button_allSet"
android:textStyle="bold"
android:textColor="@color/light_purple"
android:layout_marginEnd="120dp"
android:layout_marginStart="120dp"
android:gravity="center_horizontal|center_vertical"/>
</RelativeLayout>
</ScrollView>
只需使用ScrollView
作为xml文件中的父视图。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.abc.xyz.SettingUpUserProfile" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/light_purple" >
<TextView
android:id="@+id/settingUpUserProfileText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:gravity="center_horizontal|center_vertical"
android:text="@string/settingUpUserProfileText1"
android:textColor="@color/white"
android:textSize="30sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/userProfilePicture"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/settingUpUserProfileText1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="100dp"
android:clickable="true"
android:src="@drawable/ic_face_white_48dp" />
<TextView
android:id="@+id/settingUpUserProfileText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userProfilePicture"
android:layout_marginTop="5dp"
android:gravity="center_horizontal|center_vertical"
android:text="@string/settingUpUserProfileText2"
android:textColor="@color/white"
android:textSize="15sp" />
<EditText
android:id="@+id/userName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/settingUpUserProfileText2"
android:layout_marginEnd="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="80dp"
android:background="@drawable/phone_number_edit_text_design"
android:gravity="center_horizontal|center_vertical"
android:hint="@string/hint_userName"
android:inputType="textPersonName"
android:textColor="@color/white"
android:textColorHint="#E0E0E0"
android:textCursorDrawable="@null" />
<Button
android:id="@+id/buttonAllSet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userName"
android:layout_marginEnd="120dp"
android:layout_marginStart="120dp"
android:layout_marginTop="20dp"
android:background="@color/white"
android:gravity="center_horizontal|center_vertical"
android:text="@string/button_allSet"
android:textColor="@color/light_purple"
android:textStyle="bold" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
谢谢大家的答案。
我通过将我的activity_setting_up_user_profile.xml文件的代码更改为此来解决了这个问题:
<?xml version="1.0" encoding="utf-8"?>
<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"
android:background="@color/light_purple"
tools:context="com.abc.xyz.SettingUpUserProfile" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/settingUpUserProfileText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:gravity="center_horizontal|center_vertical"
android:text="@string/settingUpUserProfileText1"
android:textColor="@color/white"
android:textSize="30sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/userProfilePicture"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/settingUpUserProfileText1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="100dp"
android:clickable="true"
android:src="@drawable/ic_face_white_48dp" />
<TextView
android:id="@+id/settingUpUserProfileText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userProfilePicture"
android:layout_marginTop="5dp"
android:gravity="center_horizontal|center_vertical"
android:text="@string/settingUpUserProfileText2"
android:textColor="@color/white"
android:textSize="15sp" />
<EditText
android:id="@+id/userName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/settingUpUserProfileText2"
android:layout_marginEnd="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginStart="10dp"
android:layout_marginTop="80dp"
android:background="@drawable/phone_number_edit_text_design"
android:gravity="center_horizontal|center_vertical"
android:hint="@string/hint_userName"
android:inputType="textPersonName"
android:textColor="@color/white"
android:textColorHint="#E0E0E0"
android:textCursorDrawable="@null" />
<Button
android:id="@+id/buttonAllSet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/userName"
android:layout_marginEnd="120dp"
android:layout_marginStart="120dp"
android:layout_marginTop="20dp"
android:background="@color/white"
android:gravity="center_horizontal|center_vertical"
android:text="@string/button_allSet"
android:textColor="@color/light_purple"
android:textStyle="bold" />
</RelativeLayout>
</ScrollView>
</LinearLayout>
这太酷了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.