android – Scrollview自动滚动输入软键盘输入键

android – Scrollview自动滚动输入软键盘输入键,第1张

概述我有一个简单的布局,在ScrollView的xml中有嵌套元素,它基本上是一个用于输入多个EditText和Other对象的用户输入的表单. 我的一个EditText有属性 android:lines="2" 对于用户地址字段,它必须有2行.因此,当用户输入EditText时,输入键将显示在软输入键盘上,并且在重复按下此输入键时主Scrollview自动滚动到底部,每次单击Enter和EditTe 我有一个简单的布局,在ScrollVIEw的xml中有嵌套元素,它基本上是一个用于输入多个EditText和Other对象的用户输入的表单.
我的一个EditText有属性

androID:lines="2"

对于用户地址字段,它必须有2行.因此,当用户输入EditText时,输入键将显示在软输入键盘上,并且在重复按下此输入键时主ScrollvIEw自动滚动到底部,每次单击Enter和EditText都会失去焦点并且布局自动向下滚动到底部它.如何阻止这种情况发生.

<ScrollVIEw    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:layout_above="@+ID/rel_main_footer"    androID:layout_below="@+ID/enquiry_header" >    <relativeLayout        androID:layout_wIDth="fill_parent"        androID:layout_height="wrap_content" >        <TextVIEw            androID:ID="@+ID/tv_wit_header"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:layout_centerHorizontal="true"            androID:text="@string/wit_head"            androID:textAppearance="?androID:attr/textAppearanceLarge"            androID:textcolor="#7f0100" />        <!-- Owner Details -->        <linearLayout            androID:ID="@+ID/li1"            androID:layout_wIDth="fill_parent"            androID:layout_height="wrap_content"            androID:layout_below="@+ID/tv_wit_header"            androID:orIEntation="horizontal"            androID:padding="8dp" >            <TextVIEw                androID:ID="@+ID/tv_wit_owner"                androID:layout_wIDth="0dip"                androID:layout_height="wrap_content"                androID:layout_weight="1.0"                androID:text="@string/wit_name"                androID:textAppearance="?androID:attr/textAppearanceMedium" />            <EditText                androID:ID="@+ID/et_wit_owner"                androID:layout_wIDth="0dip"                androID:layout_height="wrap_content"                androID:layout_weight="1.0"                androID:background="#00000000"                androID:hint="@string/hint_set_owner"                androID:inputType="text"                androID:singleline="true"                androID:textcolor="#7f0000"                androID:textcolorHint="#a65b5a" />        </linearLayout>        <VIEw            androID:ID="@+ID/v1"            androID:layout_wIDth="fill_parent"            androID:layout_height="1dip"            androID:layout_below="@+ID/li1"            androID:background="#A4A4A4" />        <linearLayout            androID:ID="@+ID/li2"            androID:layout_wIDth="fill_parent"            androID:layout_height="wrap_content"            androID:layout_below="@+ID/v1"            androID:orIEntation="horizontal"            androID:padding="8dp" >            <TextVIEw                androID:ID="@+ID/tv_wit_address"                androID:layout_wIDth="0dip"                androID:layout_height="wrap_content"                androID:layout_weight="1.0"                androID:text="@string/ud_address"                androID:textAppearance="?androID:attr/textAppearanceMedium" />            <EditText                androID:ID="@+ID/et_wit_address"                androID:layout_wIDth="0dip"                androID:layout_height="wrap_content"                androID:layout_weight="1.0"                androID:background="#00000000"                androID:gravity="top|left"                androID:hint="@string/hint_set_address"                androID:lines="2"                androID:singleline="true"                androID:scrollbars="vertical"                androID:textcolor="#7f0000"                androID:textcolorHint="#a65b5a" />        </linearLayout>        <VIEw            androID:ID="@+ID/v2"            androID:layout_wIDth="fill_parent"            androID:layout_height="1dip"            androID:layout_below="@+ID/li2"            androID:background="#A4A4A4" />        <linearLayout            androID:ID="@+ID/li3"            androID:layout_wIDth="fill_parent"            androID:layout_height="wrap_content"            androID:layout_below="@+ID/v2"            androID:orIEntation="horizontal"            androID:padding="8dp" >            <TextVIEw                androID:ID="@+ID/tv_wit_number"                androID:layout_wIDth="0dip"                androID:layout_height="wrap_content"                androID:layout_weight="1.0"                androID:text="@string/wit_number"                androID:textAppearance="?androID:attr/textAppearanceMedium" />            <EditText                androID:ID="@+ID/et_wit_number"                androID:layout_wIDth="0dip"                androID:layout_height="wrap_content"                androID:layout_weight="1.0"                androID:background="#00000000"                androID:hint="@string/hint_wit_number"                androID:inputType="phone"                androID:singleline="true"                androID:textcolor="#7f0000"                androID:textcolorHint="#a65b5a" />        </linearLayout>        <VIEw            androID:ID="@+ID/v3"            androID:layout_wIDth="fill_parent"            androID:layout_height="1dip"            androID:layout_below="@+ID/li3"            androID:background="#A4A4A4" />        <linearLayout            androID:ID="@+ID/li4"            androID:layout_wIDth="fill_parent"            androID:layout_height="wrap_content"            androID:layout_below="@+ID/v3"            androID:orIEntation="vertical"            androID:padding="8dp" >            <TextVIEw                androID:ID="@+ID/tv_wit_notes"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:text="@string/wit_notes"                androID:textAppearance="?androID:attr/textAppearanceMedium" />            <EditText                androID:ID="@+ID/et_wit_notes"                androID:layout_wIDth="fill_parent"                androID:layout_height="wrap_content"                androID:background="#00000000"                androID:gravity="top|left"                androID:hint="@string/hint_wit_notes"                androID:inputType="textMultiline"                androID:lines="5"                androID:maxlines="5"                androID:textcolor="#7f0000"                androID:textcolorHint="#a65b5a" />        </linearLayout>    </relativeLayout></ScrollVIEw>
解决方法 它不是一个100%正确的解决方案,但它可能解决了这个问题

et_wit_address.addTextChangedListener(new TextWatcher() {        @OverrIDe        public voID onTextChanged(CharSequence s,int start,int before,int count) {            scrollvIEw.scrollTo(0,et_wit_number.gettop());                        }        @OverrIDe        public voID beforeTextChanged(CharSequence s,int count,int after) {            scrollvIEw.scrollTo(0,et_wit_number.gettop());        }        @OverrIDe        public voID afterTextChanged(Editable s) {            scrollvIEw.scrollTo(0,et_wit_number.gettop());        }    });
总结

以上是内存溢出为你收集整理的android – Scrollview自动滚动输入软键盘输入键全部内容,希望文章能够帮你解决android – Scrollview自动滚动输入软键盘输入键所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存