81

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>
4

12 に答える 12

183

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

編集:これについてさらに良いアドバイスを提供してくれたJacob Mallietに感謝します。彼は、ブール値の scrollHorizo​​ntally プロパティを 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" />
于 2010-07-20T03:56:19.417 に答える
24

わかりました。xml で設定する必要がありandroid:scrollHorizontally="false"ますEditText。私はこれがうまくいくはずだと確信しています。

于 2010-07-18T17:10:02.987 に答える
19

最初は 1 行だけにして、それを 5 行に拡張し、最大 10 行にしたいとします。

<EditText
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:id="@+id/etMessageBox"
   android:layout_alignParentLeft="true"
   android:layout_centerVertical="true"
   android:autoLink="all"
   android:hint="@string/message_edit_text_hint"
   android:lines="5"
   android:minLines="1"
   android:gravity="top|left"
   android:maxLines="10"
   android:scrollbars="none"
   android:inputType="textMultiLine|textCapSentences"/>

増やすandroid:linesことで、何行に展開するかを定義できます。

于 2013-05-21T05:05:42.073 に答える
10

私はそれを考え出した。この線、

android:inputType="textCapSentences"

が問題でした。この行を EditText オブジェクトに追加すると、オブジェクトは 1 行の EditText になり、単語が折り返されたり、ユーザーが「Enter」を押して EditText にライン フィードやキャリッジ リターンを挿入したりできなくなります。

于 2010-07-19T18:46:12.407 に答える
6

アクティビティ全体をスクロール ビューで囲み、次の編集テキストを線形レイアウトで配置することは、私にとって魅力的でした。

編集テキストは、次のようにエンターを押して垂直にスクロールします。コードは次のとおりです。

<EditText
    android:id="@+id/editText1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:ems="10"
    android:hint="Enter somehting"
    android:inputType="textMultiLine"
    android:maxLength="2000"
    android:maxLines="6"
    android:scrollHorizontally="false"
    android:scrollbars="vertical" > 
于 2013-11-30T10:19:49.307 に答える
1

プログラムでそれを行っている場合は、入力タイプを正しく設定していることを再確認するために、この質問Android EditText Multiline が機能しないことを 確認することをお勧めします。それは私の問題でした

于 2018-06-02T18:13:19.083 に答える
0

これを試して。それは私の編集テキストで動作します。

 android:gravity="top|start"
于 2022-02-08T01:57:09.097 に答える
-6
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/table"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="1"
    >  
     <TableRow
        android:id="@+id/newRow">
        <LinearLayout
             android:layout_width="fill_parent"
             android:orientation="vertical"
             android:layout_height="wrap_content"
             android:gravity="left"
             android:paddingBottom="10dip">
            <TextView  
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content" 
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Some Text"
            />
        </LinearLayout>
        </TableRow>

        <View
        android:layout_height="2dip"
        android:background="#FF909090" />

    <TableRow>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="10dip">

    <TextView  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"         
        android:text="Some Text"
        android:paddingBottom="5dip"
        />     
    <EditText 
        android:id="@+id/editbox"  
        android:layout_width="wrap_content" 
        android:layout_height="150px"
        android:gravity="top"   
        android:inputType="textFilter"
        android:scrollHorizontally="false"      
        />  

</RelativeLayout>
</TableRow>
<TableRow>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <Button 
        android:id="@+id/btnone"  
        android:layout_width="3dip" 
        android:layout_height="wrap_content"
        android:layout_margin="2dip"
        android:layout_weight="1"
        android:text="Btn"
        />          
    <Button 
        android:id="@+id/btntwo"  
        android:layout_width="3dip" 
        android:layout_height="wrap_content"
        android:layout_margin="2dip"
        android:layout_weight="1"
        android:text="Btn"
        />    
 </LinearLayout>
 </TableRow>
 </TableLayout>
于 2011-03-07T17:02:10.830 に答える