我的一个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自动滚动输入软键盘输入键所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)