谷歌搜索了很多,但找不到令人满意的解决方案。下面的屏幕截图描述了我面临的问题。
当软键盘可见时,
Edittext隐藏在标题栏后面。我已经把
了android:gravity="center_vertical"
主要布局中的属性。如果我删除这个属性然后布局工作正常。但设计要求需要表格在中心。我已经尝试了一切。使用scrollview并将其放入清单
android:windowSoftInputMode="stateVisible|adjustResize"
还试过" adjustPan"它确实有效。但在这种情况下,整个表格不会被推高。编辑文本' MobileNo'并且按钮隐藏在软键盘后面。
布局xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="center_vertical"
android:padding="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="324dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="#39CCCCCC"
android:orientation="vertical"
android:isScrollContainer="true"
android:padding="5dp"
>
<EditText android:id="@+id/edit_name"
android:layout_width="match_parent"
android:layout_height="@dimen/edittext_dimen"
android:hint="@string/register_name"
android:textColor="@color/black"
android:textSize="20sp"
android:background="@drawable/rounded_edittext_bg"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="20dp"
android:padding="5dp"
android:inputType="textPersonName"/>
<EditText android:id="@+id/edit_email"
android:layout_width="match_parent"
android:layout_height="@dimen/edittext_dimen"
android:hint="@string/register_emailid"
android:textColor="@color/black"
android:textSize="20sp"
android:background="@drawable/rounded_edittext_bg"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:padding="5dp"
android:inputType="textEmailAddress" />
<EditText android:id="@+id/edit_password"
android:layout_width="match_parent"
android:layout_height="@dimen/edittext_dimen"
android:hint="@string/register_pass_hint"
android:textColor="@color/black"
android:textSize="20sp"
android:background="@drawable/rounded_edittext_bg"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:padding="5dp"
android:inputType="textPassword" />
<EditText android:id="@+id/edit_confpassword"
android:layout_width="match_parent"
android:layout_height="@dimen/edittext_dimen"
android:hint="@string/register_confpass"
android:textColor="@color/black"
android:textSize="20sp"
android:background="@drawable/rounded_edittext_bg"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:padding="5dp"
android:inputType="textPassword" />
<EditText android:id="@+id/edit_mobile"
android:layout_width="match_parent"
android:layout_height="@dimen/edittext_dimen"
android:hint="@string/register_mobile"
android:textColor="@color/black"
android:textSize="20sp"
android:background="@drawable/rounded_edittext_bg"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:padding="5dp"
android:maxLength="11"
android:inputType="phone"/>
<Button android:id="@+id/signup_btn"
android:layout_width="match_parent"
android:layout_height="@dimen/edittext_dimen"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_gravity="center_horizontal"
android:text="@string/register_signup"
android:textSize="20sp"
android:background="#3F799F"
android:textColor="@color/white"/>
</LinearLayout>
</LinearLayout>
这有什么解决方案吗?任何可以帮助我实现目标的解决方法?请回复你的意见和建议。
如果你无法理解我的怀疑。请随意问。 提前谢谢。
答案 0 :(得分:3)
我解释你的错误。您已经将线性布局高度设置为324dp。因此,当键盘打开线性布局需要在屏幕中有足够的空间时,它会上升并且不可见您的第一个edittext。
改为使用相对布局。
等一下,我给你修改了XML的变化。直到时间检查你的xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:orientation="vertical"
android:padding="5dp" >
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#39CCCCCC"
android:isScrollContainer="true"
android:orientation="vertical"
android:padding="5dp" >
<EditText
android:id="@+id/edit_name"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="20dp"
android:hint="Name"
android:inputType="textPersonName"
android:padding="5dp"
android:textColor="#000"
android:textSize="20sp" />
<EditText
android:id="@+id/edit_email"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:hint="Email"
android:inputType="textEmailAddress"
android:padding="5dp"
android:textColor="#000"
android:textSize="20sp" />
<EditText
android:id="@+id/edit_password"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:hint="password"
android:inputType="textPassword"
android:padding="5dp"
android:textColor="#000"
android:textSize="20sp" />
<EditText
android:id="@+id/edit_confpassword"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:hint="Confirm password"
android:inputType="textPassword"
android:padding="5dp"
android:textColor="#000"
android:textSize="20sp" />
<EditText
android:id="@+id/edit_mobile"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:hint="register"
android:inputType="phone"
android:maxLength="11"
android:padding="5dp"
android:textColor="#000"
android:textSize="20sp" />
<Button
android:id="@+id/signup_btn"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="#3F799F"
android:text="signup"
android:textColor="#fff"
android:textSize="20sp" />
</LinearLayout>
</RelativeLayout>
清单中的活动标记写下此android:windowSoftInputMode="adjustResize|adjustPan"
我改变你的尺寸,大小,颜色也是字符串resourch
答案 1 :(得分:1)
在adjustPan
代码
activity
android:windowSoftInputMode="adjustResize|adjustPan"