在我的布局中,我有几个EditText
和Spinners代表一个表单。一切都有效,直到我选择EditText
并且键盘打开并且活动为adjustResize
然后当我选择旋转项目后滚动到底部我的活动滚动到顶部,我将不得不再次滚动到底部。 / p>
我的XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:background="@color/white"
>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/nsV"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/tell_us_about"
style="@style/BoldStyle"
android:textColor="@color/colorAccent"
android:textSize="16sp"
android:layout_marginTop="10dp"
/>
<!-- Price section -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/price_with_curr"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textSize="13sp"
/>
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Edit_Square"
android:id="@+id/price_et"
android:cursorVisible="true"
android:inputType="number"
android:textSize="13sp"
android:textCursorDrawable="@null"
/>
<!-- vehicle condition -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/condition"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textSize="13sp"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/condition_spinner"
></Spinner>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/body_style"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/body_type_spinner"
></Spinner>
<!-- odo meter -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/km"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textSize="13sp"
/>
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Edit_Square"
android:id="@+id/odo_et"
android:cursorVisible="true"
android:inputType="number"
android:textSize="13sp"
android:textCursorDrawable="@null"
/>
<!-- engine size-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/engine_size"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/engine_size_spinner"
></Spinner>
<!-- transimssion -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/transmission"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/transmission_spinner"
></Spinner>
<!-- fuel type -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fuel_type"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/fuel_type_spinner"
></Spinner>
<!-- drive train-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/drive_train"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/drive_train_spinner"
></Spinner>
<!-- engine capacity -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/eng_cap"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/engine_capacity_spinner"
></Spinner>
<!-- exterior color-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ext_color"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/exterior_color_spinner"
></Spinner>
<!-- interior color -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/int_color"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
/>
</LinearLayout>
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinner_style"
android:id="@+id/interior_color_spinner"
></Spinner>
<!-- waranty -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/waranty"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:id="@+id/yes"
android:layout_toEndOf="@+id/yes_check"
android:paddingTop="2dp"
android:text="@string/yes"
android:textSize="11sp"
android:layout_centerVertical="true"
/>
<CheckBox
android:id="@+id/yes_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:checked="false"
android:gravity="left"
android:lineSpacingExtra="10dp"
android:textColor="@color/blue"
android:theme="@style/CustomStyledRadioButton" />
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:id="@+id/no"
android:layout_toEndOf="@+id/no_check"
android:paddingTop="2dp"
android:text="@string/no"
android:textSize="11sp"
android:layout_centerVertical="true"
/>
<CheckBox
android:id="@+id/no_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:checked="false"
android:gravity="left"
android:lineSpacingExtra="10dp"
android:textColor="@color/blue"
android:theme="@style/CustomStyledRadioButton" />
</RelativeLayout>
</LinearLayout>
<!-- waranty_extra -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/waranty_extra"
android:visibility="gone"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/waranty_exipre_date"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<EditText
android:focusable="false"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Edit_Square"
android:id="@+id/waranty_exp_et"
android:inputType="date"
android:textSize="13sp"
android:textCursorDrawable="@null"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/waranty_expire_km"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Edit_Square"
android:id="@+id/waranty_exp_km_et"
android:cursorVisible="true"
android:inputType="number"
android:textSize="13sp"
android:textCursorDrawable="@null"
/>
</LinearLayout>
<!-- description en-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/desc_wrap_en"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/description_en"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<EditText
android:id="@+id/desc_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/square_border_grey"
android:gravity="top"
android:minLines="6"
android:textCursorDrawable="@null"
android:textSize="13sp"
android:padding="5dp"
android:textColorHighlight="@color/colorSubSecondary"
/>
</LinearLayout>
<!-- description ar -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/desc_wrap"
android:visibility="gone"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/description_ar"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<EditText
android:id="@+id/desc_et_ar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/square_border_grey"
android:gravity="top"
android:minLines="6"
android:textCursorDrawable="@null"
android:textSize="13sp"
android:padding="5dp"
/>
</LinearLayout>
<!-- seller comments -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/seller_comments_wrap_en"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/seller_comment_en"
style="@style/BoldStyle"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</LinearLayout>
<EditText
android:id="@+id/seller_comments_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/square_border_grey"
android:gravity="top"
android:minLines="6"
android:textCursorDrawable="@null"
android:textSize="13sp"
android:padding="5dp"
/>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/submit_btn"
android:text="@string/continue_txt"
android:background="@drawable/btn_selector_primary"
android:textColor="@color/white"
android:layout_marginTop="-5dp"
/>
<View
android:id="@+id/extra_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:visibility="gone"
/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</RelativeLayout>
答案 0 :(得分:0)
尝试以下代码
mSpinner.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
/// hide keyboard
InputMethodManager imm=(InputMethodManager)getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
return false;
}
}) ;