Java 带EditText的水平滚动视图跳到右侧
我对Java 带EditText的水平滚动视图跳到右侧,java,android,xml,user-interface,layout,Java,Android,Xml,User Interface,Layout,我对水平滚动视图和编辑文本内部有一些问题。当我开始键入HorizontalScrollView时,会跳到右侧,编辑EditText会消失,尽管焦点不会丢失。但是,如果我删除editText.setGravity(Gravity.CENTER)所有操作都正常。我读过关于重写scrollTo()的内容,但我想知道为什么会发生这种情况,并消除原因而不是后果 以下是示例代码: R.layout.activity\u main: <HorizontalScrollView xmlns:android
水平滚动视图
和编辑文本
内部有一些问题。当我开始键入HorizontalScrollView
时,会跳到右侧,编辑EditText
会消失,尽管焦点不会丢失。但是,如果我删除editText.setGravity(Gravity.CENTER)
所有操作都正常。我读过关于重写scrollTo()
的内容,但我想知道为什么会发生这种情况,并消除原因而不是后果
以下是示例代码:
R.layout.activity\u main:
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/llRowSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
</LinearLayout>
公共类MainActivity扩展了ActionBarActivity{
私人线路布局图,行搜索;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
llRowSearch=(LinearLayout)findViewById(R.id.llRowSearch);
对于(int i=0;i<20;i++){
EditText EditText=新的EditText(本);
editText.setLayoutParams(新的LayoutParams(500,
LayoutParams.MATCH_PARENT));
editText.setInputType(InputType.TYPE\类别\编号
|InputType.TYPE\u编号\u标志\u小数
|输入类型。类型\编号\标志\签名);
editText.setGravity(Gravity.CENTER);
llRowSearch.addView(editText);
}
}
}
当我们将InputType与水平滚动视图中的重力相结合时,InputType是罪魁祸首
将android:digits=“0123456789.”添加到编辑文本中,它将不会跳转
public class MainActivity extends ActionBarActivity {
private LinearLayout llRowSearch;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
llRowSearch = (LinearLayout) findViewById(R.id.llRowSearch);
for (int i = 0; i < 20; i++) {
EditText editText = new EditText(this);
editText.setLayoutParams(new LayoutParams(500,
LayoutParams.MATCH_PARENT));
editText.setInputType(InputType.TYPE_CLASS_NUMBER
| InputType.TYPE_NUMBER_FLAG_DECIMAL
| InputType.TYPE_NUMBER_FLAG_SIGNED);
editText.setGravity(Gravity.CENTER);
llRowSearch.addView(editText);
}
}
}