2011.05.27

【FAQ】『はじめてのAndroid2プログラミング』

はじめてのAndroid2プログラミング

●質問
 381ページの本文下から10行目に、「エディットテキストは、……基本的にテキストのカーソルの縦方向の位置はウィジェットの中央にあります。」という記述があります。ところで、縦方向の位置を先頭に表示する指定はあるのでしょうか?

●回答
 EditTextで複数行のテキストを表示する場合、一般のテキストエディターのように最上行から表示を始めたければ、EditTextをXMLでレイアウトする際に1行、

android:gravity=”top”

という記述を加えればよいでしょう。
 EditTextの部分全体では、たとえば、

<EditText
    android:id=”@+id/myEditText”
    android:layout_width=”fill_parent”
    android:layout_height=”fill_parent”
    android:gravity=”top”
    />

のようにします。
 ちなみに、この「android:gravity」は、EditTextの場合、テキストのアライメントを設定する属性です。初期状態でなにも指定していないと、「center_vertical」を指定したのと同じ挙動となるようです。