【问题标题】:HorizontalScrollView with EditText jumps to right带有 EditText 的 Horizo​​ntalScrollView 向右跳转
【发布时间】:2014-12-13 18:13:58
【问题描述】:

我对里面的HorizontalScrollViewEditTexts 有一些问题。当我开始输入HorizontalScrollView 时,会跳到右侧并编辑EditText 消失,尽管焦点不会丢失。但如果我删除 editText.setGravity(Gravity.CENTER) 一切正常。我读到了关于覆盖scrollTo() 的信息,但我想知道它为什么会发生并消除原因而不是后果。

这里是示例代码:

R.layout.activity_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>

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);
    }
}
}

【问题讨论】:

    标签: java android xml user-interface layout


    【解决方案1】:

    InputType 是罪魁祸首,当我们将它与 Horizo​​ntalScrollView 中的重力结合时。

    添加 android:digits="0123456789."到您的 EditText 并且它不会跳转。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多