ボタンのテキストがボタンの中央に垂直にならない

私はAndroidアプリを作成しています。その背景にカスタム背景画像を持つボタンがあります。背景画像は単なる矩形ですが、ボタンのテキストは垂直に中央揃えされていないようです。ボタンのための私のXMLです:

<button 
android:id="@+id/save_to_list"
android:layout_below="@+id/info_pic"
android:text="SAVE TO LIST"
android:textColor="@android:color/white"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_width="260dp"
android:layout_height="35dp"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"></button>

私はここに背景を設定:

ImageView button_bg = (ImageView)findViewById(R.id.button_background);
savetolist_button.setBackgroundDrawable(button_bg.getDrawable());

ボタン内のテキストの位置を変更する場所はありますか?

6

4 答え

android:layout_gravity defines layout alignment inside it's parent. To align text within the button you need android:gravity, for example

<button 
    ...
    android:gravity="center"
    ...>
</button>
12
追加された

ボタンが短すぎるため、テキストが正しく表示されません。 layout_heightを大きくし、テキストを中央に配置する必要があります。

4
追加された

あなたのテキストには、各文字の一部としてフォントに埋め込まれたパディングがある可能性があります。そのため、テキストは一方向にプッシュされています。 layout_heightを "wrap_content"に設定すると、テキストが正しく中央揃えされます。

1
追加された

私は、xml描画可能ではなく、長方形の背景に9パッチイメージを使用することをお勧めしました。

0
追加された