Android EditText隐藏

时间:2011-11-23 06:47:14

标签: android android-edittext android-softkeyboard

在Android中,我有一个父RelativeLayout。 在我的内心,ScrollView - > TableLayout

TableLayout包含大约25个表单项(TextView : EditText)组合。

这里的问题是,每当选择EditText时,SoftInput键盘都会隐藏EditText,因此用户无法查看他在哪里键入文本。

样本布局文件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="wrap_content"
 android:layout_height="match_parent"
 android:background="#FFFFFF"
 android:gravity="fill"
 android:orientation="vertical" >

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/retailinfoscroller"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_below="@+id/logininputtime"
 android:layout_marginTop="10dip"
 android:scrollbars="vertical" >

<TableLayout
 android:id="@+id/newstoreregtable"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:fadeScrollbars="true"
 android:stretchColumns="1" >

 <TableRow >

 <TextView
 android:layout_width="120dip"
 android:layout_gravity="center_vertical"
 android:layout_marginBottom="5dip"
 android:layout_marginLeft="10dip"
 android:layout_marginTop="5dip"
 android:gravity="right"
 android:text="@string/strretailerid"
 android:textColor="#000000"
 android:textSize="16dip" />

 <EditText
 android:id="@+id/editretailerid"
 android:layout_width="120dip"
 android:layout_height="45dip"
 android:layout_marginLeft="5dip"
 android:layout_marginRight="5dip"
 android:layout_marginTop="5dip"
 android:layout_weight="0.6"
 android:background="@drawable/edittextsample"
 android:clickable="false"
 android:cursorVisible="false"
 android:editable="false"
 android:singleLine="true" >
 </EditText>
 </TableRow>

 <TableRow></TableRow>
 </TableLayout>
 </ScrollView>
 </RelativeLayout>

基本上我只想让用户想要输入时EditText可见。

我已经浏览了论坛,但找不到修复程序。

2 个答案:

答案 0 :(得分:4)

在活动代码下的清单添加android:windowSoftInputMode="adjustResize"中。

答案 1 :(得分:1)

在Android清单文件中执行:

android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"

此外,您还需要在活动的OnCreate函数中添加以下代码:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

我希望这会有所帮助.....