Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android将EditText设置为水平滚动而不是垂直滚动_Java_Android_Android Edittext - Fatal编程技术网

Java android将EditText设置为水平滚动而不是垂直滚动

Java android将EditText设置为水平滚动而不是垂直滚动,java,android,android-edittext,Java,Android,Android Edittext,我以编程方式添加了一个editText控件,该控件的值大于该控件的宽度,并且正在换行到下一行。 我希望文本水平阅读,而不是跨越多行或允许垂直滚动 我尝试了以下设置的多种组合,但它们似乎一点也不影响 et.setHorizontallyScrolling(true); et.setSingleLine(true); et.setLines(1); et.setMaxLines(1); et.setHorizontalScrollBarEnabled(true); et.setRawInputTy

我以编程方式添加了一个editText控件,该控件的值大于该控件的宽度,并且正在换行到下一行。 我希望文本水平阅读,而不是跨越多行或允许垂直滚动

我尝试了以下设置的多种组合,但它们似乎一点也不影响

et.setHorizontallyScrolling(true);
et.setSingleLine(true);
et.setLines(1);
et.setMaxLines(1);
et.setHorizontalScrollBarEnabled(true);

et.setRawInputType(InputType.TYPE_CLASS_TEXT| InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE);

只需更改您的代码…借助于此

 public class MainActivity extends Activity {
    private LinearLayout ll;
    private ScrollView sv;
    private EditText et,et1,et2,et3;

    @Overrid
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.VERTICAL);
        ll.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

        et = new EditText(this);
        et.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        et.setHeight(80);

        sv = new ScrollView(this);
        sv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        sv.addView(et);

        ll.addView(sv);

        setContentView(ll);
    }
}
移除所有,仅使用et.setSingleLinetrue


仅使用SetSingleLineRue;这很好。

我的意思是-et.setLines1;et.setMaxLines1;还有另一种方法:android:ellipsize=end-android:maxLines=1。方法:et.setEllipsize;et.maxLines
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);
    ll.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT));
    EditText et = new EditText(this);
    et.setSingleLine(true);
    et.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT));
    et.setRawInputType(InputType.TYPE_CLASS_TEXT| InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE);
    ll.addView(et);
    setContentView(ll);
}