1. ホーム
  2. android

[解決済み] Android Word-Wrap EditText テキスト

2023-06-19 19:30:04

質問

EditTextボックスをワードラップさせたいのですが、うまくいきません。

Android アプリケーションを開発する際に、もっと複雑な問題に対処してきましたが、これは簡単な処理のように思えます。

しかし、問題はまだ残っており、大きなテキスト ボックスで、1 行にのみテキストを入力でき、テキストを入力すると水平方向にスクロールして、まっすぐ横に進みます。

以下は、私のレイアウト ファイルからの EditText オブジェクトの XML コードです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/myWidget48"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
 <ScrollView
    android:id="@+id/myScrollView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    >
    <LinearLayout
        android:id="@+id/widget37"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
    >

<EditText
        android:id="@+id/txtNotes"
        android:layout_width="300px"
        android:layout_height="120px"
        android:scrollbars="vertical"
        android:textSize="18sp"
        android:gravity="left"
        android:layout_marginTop="10dip"
        android:inputType="textCapSentences"
        >
    </EditText>
</LinearLayout>
</ScrollView>
</LinearLayout>

どのように解決するのですか?

問題の原因を見つけることに加えて、解決策も見つけました。もし android:inputType が使われている場合は、textMultiLine を使って複数行のサポートを有効にする必要があります。また、inputTypeを使用することは、以下のコードより優先されます。 android:singleLine="false" . inputTypeを使用する場合、textMultiLineを使用しなければ、EditTextオブジェクトは、ワードラップなしで、1行で構成されています。

編集します。 ありがとうございます。 ジェイコブ・マリエ は、この件に関してさらに良いアドバイスを提供してくれました。彼は、boolean scrollHorizontally プロパティを false に設定することを提案しました。 'android:scrollHorizontally="false"' .

XMLのコード例です。

<EditText
    android:id ="@+id/edtInput"
    android:layout_width ="0dip" 
    android:layout_height ="wrap_content" 
    android:layout_weight ="1" 
    android:inputType="textCapSentences|textMultiLine"
    android:maxLines ="4" 
    android:maxLength ="2000" 
    android:hint ="@string/compose_hint"
    android:scrollHorizontally="false" />