我想在禁用EditText时滚动并包含一行中的大文本。

我尝试edittext.setInputType(InputType.TYPE_NULL)

但是背景不会改变 ,用户在编辑或不编辑时无法区分。

编辑:我的xml:

<EditText
                android:id="@+id/et_address"
                android:layout_width="0dip"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:inputType="text"
                android:maxLength="120"
                android:maxLines="1"
                android:singleLine="true"
                android:nextFocusDown="@+id/et_name" />

当启用edittext时,水平滚动工作正常,当edittext转为禁用时,我希望相同

#1楼 票数:4

更好地使用textview并使用XML样式设置edittext之类的背景

            <TextView
                android:id="@+id/output"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_marginLeft="2dp"
                android:layout_marginTop="2dp"
                android:layout_weight="1"
                android:background="@drawable/btnstyle"
                android:hint="@string/convert"
                android:inputType="number"
                android:textColor="#000000"
                android:scrollbars="horizontal"
                android:scrollHorizontally="true"
                android:gravity="left|center"
                android:textSize="18sp"

               />

并设定

        Output = (TextView) findViewById(R.id.output);
        Output.setMovementMethod(new ScrollingMovementMethod());

希望这有帮助

#2楼 票数:2

您可以在edittext中使用以下参数。

et.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
et.setHintTextColor(Color.TRANSPARENT);
et.setFocusable(false);
et.setClickable(false);
et.setFocusableInTouchMode(false);
et.setEnabled(true);
et.setKeyListener(null);
et.setHorizontallyScrolling(true);

因此,当按下编辑时,它将作为所需的行为工作,否则将表现为文本视图。

#3楼 票数:1

尝试使用xml中的android:singleLine="true"作为单行,并增加大文本的字体大小。 滚动可以描述你想要的吗?

#4楼 票数:0

简短回答:

        <EditText
            android:id="@+id/et_1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:focusableInTouchMode="false"
            android:scrollHorizontally="true" />

例如,如何使用PopUpWindow代替默认键盘:

        //Your Main Layout        
        RelativeLayout mainLayout = (RelativeLayout)findViewById(R.id.activity_rl);

        LayoutInflater layoutInflater = (LayoutInflater)getBaseContext()
                .getSystemService(LAYOUT_INFLATER_SERVICE);
        //Set layout instead keyboard (Linear layout with buttons)  
        View popupView = layoutInflater.inflate(R.layout.keyboard, null);  
        PopupWindow ppwin = new PopupWindow(popupView, LayoutParams.FILL_PARENT,  
        LayoutParams.WRAP_CONTENT);
        //Some Button on that Linear layout
        Button bt = (Button)popupView.findViewById(R.id.button1);
        bt.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    edit_text.setText(edit_text.getText().toString()+"Your text");
                }
        });
       //Your EditText in Main layout 
        EditText edit_text = (EditText)findViewById(R.id.et_1);
        edit_text .setOnTouchListener(new OnTouchListener() {
                @Override public boolean onTouch(View v, MotionEvent event) {
                    //show PopUpWindow with buttons instead default keyboard
                    //or your custom keyboard
                    ppwin.showAtLocation(mainLayout, Gravity.BOTTOM, 0, 0);
                    return false;
                }
       });

#5楼 票数:0

EditText et= (EditText) findViewById(R.id.et_address);
et.setMovementMethod(new ScrollingMovementMethod());

#6楼 票数:0

XML

 android:singleLine="true"
 android:scrollHorizontally="true"

myEditText.setKeyListener(null);

这样,编辑文本不会启用,滚动也会起作用。 您还可以将editText文本的颜色更改为#d3d3d3 setEnabled(false)具有相同的外观

为我工作,希望它可以帮助别人

  ask by thenosic translate from so

未解决问题?本站智能推荐:

3回复

在禁用的edittext中水平滚动

启用或禁用代码中的edittext转换(如果按下“ EDIT”按钮)。 问题是:如果edittext包含大文本并且其状态被禁用,我将无法水平滚动查看所有文本。 (如果启用了他的状态,我可以正常水平滚动)
2回复

EditText不水平滚动

我使用以下方法创建了一个EditText: 创建EditText时,我放置了layout_weight,一个id和一个id作为其他属性。我希望在以下情况下EditText水平滚动: a。提示不适合edittext的边界b。正在输入文本并且文本超出了edittext边界的右边缘
4回复

EditText内的水平文本滚动

我正在使用自定义背景创建一个EditText字段,但输入文本将比字段本身更长。 此外,文本需要在一行中。 我的想法是当线到达场的末端时使文本“向左移动”。 我在一些应用程序中看到这是可能的。 我搜索了答案,但没有人回答这个具体问题。 在我结合其中几个之后,我试图以这种方式解决问
4回复

如何禁用EditText的垂直滚动?

我以编程方式创建EditText。 以下是我的代码: 我上面提到的似乎完全无用......请帮助我。
3回复

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

我以编程方式添加了一个editText控件,该控件的值比该控件的宽度长,并且包装到下一行。 我希望文本改为水平阅读,而不是跨多行或允许垂直滚动 我尝试了以下设置的多种组合,但它们似乎根本不受影响。
1回复

允许EditText在禁用时滚动

我有一个EditText设置如下: 在程序中的某个点,键入文本后, EditText将被以下代码禁用: 问题是,一旦EditText被禁用,我无法向上和向下滚动以查看我写的内容。 如何禁用更多键入,但仍允许查看已编写的内容?
2回复

在EditText中禁用滚动选项

当用户在EditText上输入更多字符时,禁用EditText中的滚动选项。 而不是滚动选项,我需要减小字体/类型的大小。 我当前正在做的是获取字符数,如果超过特定限制,则减小字体大小。 我想做的是激活滚动选项时,需要减小尺寸。
2回复

在edittext中水平滚动不起作用

为什么android:scrollHorizontally="true"不起作用? 但是,如果设置android:inputType="text" -可以完美运行...