Android:複数行EditText(テキスト領域)の垂直方向の配置


232

テキスト領域の高さを5行にしたいと思います。次のコードを使用しています。

<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:singleLine="false"
    android:lines="5"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip" />

テキスト領域は正常に見えますが、問題はカーソルがテキストフィールドの中央で点滅していることです。テキストフィールドの最初の文字の最初の行で点滅させたい。


15
重力の「中心」を取り除こうとすると、問題になる可能性があります
Sephy

回答:



99

これはCommonsWareの回答に似ていますが、微調整が加えられていますandroid:gravity="top|start"。完全なコード例:

<EditText
    android:id="@+id/EditText02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:lines="5"
    android:gravity="top|start"
    android:inputType="textMultiLine"
    android:scrollHorizontally="false" 
/>

8
top|leftアプリ内のすべての言語を制御できることがわかっている場合を除き、使用しないでください。右から左に記述する言語は多数あります(en.wikipedia.org/wiki/Right-to-left)ローカライズに対応します
MariusBudin 14年

1
@MariusBudinおそらくtop|start正しい選択肢でしょうか?
ban-geoengineering

19

UはこのEdittextを使用できます....これは役立ちます。

<EditText
android:id="@+id/EditText02"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:lines="5"
android:gravity="top|left"
android:inputType="textMultiLine" />


6
<EditText android:id="@+id/EditText02" android:layout_width="120dp"
    android:layout_height="wrap_content" android:lines="5" android:layout_centerInParent="true"
    android:gravity="top|left" android:inputType="textMultiLine"
    android:scrollHorizontally="false" android:minWidth="10.0dip"
    android:maxWidth="180dip" />

それが動作します


3

現在、重力の1日の使用startが最適です。

android:gravity="start"

EditText(textarea)の場合:

<EditText
    android:id="@+id/EditText02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:lines="5"
    android:gravity="start"
    android:inputType="textMultiLine"
/>

なぜこれが機能するのかについて少し説明できますか?(西洋言語の場合)のstartように機能することを期待していました。leftつまり、水平重力のみに影響しますが、それもの役割を果たしているようですtop
ban-geoengineering

はい、そうです。これは主にRTLのサポートに使用されます。アラビア語のように、左ではなく右に移動します。そして、それはまたtop、あなたがすでに尋ねたことに行きます。通常、上から左から書き始めSTARTます。そのため、これも同じ特性を示します。@ ban-
geoengineering

2

アプリをより小さなデバイスに移植する場合、layout:weight = 5代わりに使用できると思いますandroid:lines = 5。それはうまく機能します。まあ、両方の属性があなたの仕事を達成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.