我在应用中有多个textareas。当我点击它输入时,键盘弹出(android选项卡)。但是textarea仍然保留在该页面上的位置。键盘弹出时如何滚动页面。
<?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"
android:fillViewport="true" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableRow
android:gravity="center"
android:paddingTop="10px" >
<TextView
android:id="@+id/status"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_span="2"
android:text="Registration Form"
android:textColor="#000000"
android:textSize="15sp"/>
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:id="@+id/firstName1"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip"
android:textColor="#000000"
android:textSize="15sp" />
<EditText
android:id="@+id/firstName"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:inputType="text"
android:singleLine="true"
android:maxLength="100"
android:textColor="#000000"
android:textSize="15sp" >
<requestFocus />
</EditText>
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:id="@+id/middleName1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:text=" Middle Name :"
android:textColor="#000000"
android:textSize="15sp" />
<EditText
android:id="@+id/middleName"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:inputType="text"
android:singleLine="true"
android:maxLength="100"
android:textColor="#000000"
android:textSize="15sp"/>
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:id="@+id/lastName1"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip"
android:textColor="#000000"
android:textSize="15sp"/>
<EditText
android:id="@+id/lastName"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:inputType="text"
android:singleLine="true"
android:maxLength="100"
android:textColor="#000000"
android:textSize="15sp" >
</EditText>
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:text=" ITS Id(Optional) :"
android:textColor="#000000"
android:textSize="15sp" />
<EditText
android:id="@+id/itsId"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:inputType="number"
android:maxLength="8" />
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:id="@+id/userName1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:textColor="#000000"
android:textSize="15sp" />
<EditText
android:id="@+id/userName"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:inputType="text"
android:singleLine="true"
android:maxLength="50"
android:textColor="#000000"
android:textSize="15sp"/>
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:id="@+id/password1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:textColor="#000000"
android:textSize="15sp"/>
<EditText
android:id="@+id/password"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:inputType="textPassword"
android:maxLength="8"
android:textColor="#000000"
android:textSize="15sp" />
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:id="@+id/confirmPassword1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:textColor="#000000"
android:textSize="15sp" />
<EditText
android:id="@+id/confirmPassword"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:inputType="textPassword"
android:maxLength="8"
android:textColor="#000000"
android:textSize="15sp" />
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:text=" Email :"
android:textColor="#000000"
android:textSize="15sp" />
<EditText
android:id="@+id/email"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:singleLine="true"
android:inputType="textEmailAddress"
android:maxLength="200"
android:textColor="#000000"
android:textSize="15sp" />
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:text=" Gender :"
android:textColor="#000000"
android:textSize="15sp" />
<Spinner
android:id="@+id/gender"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:layout_weight="1"
android:entries="@array/gender_array" />
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<CheckBox
android:id="@+id/profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:textColor="#000000"
android:textSize="15sp"
android:text="Keep Private" />
</TableRow>
<TableRow android:layout_marginTop="20dip" >
<Button
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true"
android:onClick="addNewProfile"
android:text="Submit" />
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true"
android:onClick="cancelActivity"
android:text="Cancel" />
</TableRow>
</TableLayout>
</ScrollView>
<activity android:label="Registration" android:name="Registration" android:windowSoftInputMode="adjustPan"></activity>
我使用了adjustPan但是这个也没用。请告诉我如何在softKeyboard适用时向上滚动字段?
答案 0 :(得分:1)
private final void focusOnView(){
new Handler().post(new Runnable() {
@Override
public void run() {
your_scrollview.scrollTo(0, your_EditBox.getBottom());
}
});
}