2014年8月5日火曜日

TextViewでgravity="center"にしても真ん中に寄らないで下にずれる

AndroidのTextViewで高さと文字サイズを指定したとき、TextViewに対して文字が大きすぎると、gravity="center"やpadding="0dp"を指定していても文字が下に寄る(つまり上部に余白ができる)ことがある。
例えば以下のようなレイアウトを表示させると
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:layout_width="300dp"
        android:layout_height="40dp"
        android:layout_gravity="center"
        android:background="#dddddd"
        android:gravity="center"
        android:padding="0dp"
        android:text="あいうえおjkl"
        android:textAlignment="gravity"
        android:textSize="40dp" />
</FrameLayout>
こうなる↓

解決策はandroid:includeFontPadding="false"を追加すること。
追加すると、以下のように上部の余白がなくなる





0 件のコメント:

コメントを投稿