3

EditTextが無効で、1行に大きなテキストが含まれている場合にスクロールしたい。

私は試します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 が無効になっている場合も同じことが必要です

4

6 に答える 6

5

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

これが役立つことを願っています

于 2012-11-24T10:49:34.847 に答える
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);

そのため、編集が押されると目的の動作として機能し、それ以外の場合はテキスト ビューとして動作します。

于 2014-08-21T06:55:24.613 に答える
1

xmlで1行を試してandroid:singleLine="true" 、大きなテキストのフォントサイズを大きくしてください。巻物については、あなたが望むものを正確に説明できますか?

于 2012-09-17T12:29:21.423 に答える