2011-10-27 30 views
5

私は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()); 

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

答えて

12

android:layout_gravityは、その内部のレイアウトの配置を定義します。あなたがandroid:gravityを必要とし、ボタン内のテキストを揃えるために、例えば

<Button 
    ... 
    android:gravity="center" 
    ...> 
</Button> 
1

あなたのテキストは、おそらく各文字の一部としてフォントに組み込まれているいくつかのパディングを持っており、あなたのテキストが一つの方向に押されている理由です。 layout_heightを "wrap_content"に設定すると、テキストが正しく中央揃えされます。

0

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

4

あなたのボタンが正しくテキストに合わせて短すぎます。 layout_heightを大きくして、テキストを中央揃えにする必要があります。

0

あなたがセンターに重力を設定することができます。

android:gravity="center" 
関連する問題