29

私の質問はとても簡単です。Androidのボタンのテキストを中央に配置するにはどうすればよいですか? パディングを0に、重力を中央に設定しようとしましたが、それでも実行すると、テキストは水平方向の中央に配置されますが、垂直方向には配置されません。文字が少し下にずれています。

<Button
    android:id="@+id/btnSame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginBottom="10dip"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:background="@drawable/layout_button_different"
    android:gravity="center_vertical|center_horizontal"
    android:height="30dp"
    android:padding="0dip"
    android:text="@string/equals"
    android:textColor="@drawable/layout_button_different"
    android:textSize="50dp"
    android:width="70dp" />

私も関連しています: 活動では、私はこれを行います:

btnEquals.setCompoundDrawablesWithIntrinsicBounds(null,getResources().getDrawable(R.drawable.up2), null, null);
btnEquals.setPadding(0, 5, 0, 0);
btnEquals.setTextSize(15);

これは機能しますが、この後、これを設定しました:

btnEquals.setCompoundDrawables(null, null, null, null);
btnEquals.setPadding(0, 0, 0, 0);

その結果、垂直方向の位置合わせが不適切になります。

4

7 に答える 7

23

選択したサイズが原因で、既存のレイアウトではテキストを中央に配置することができません。ボタンの高さを に設定し30dp、textSizeを に設定しました。50dp何らかの理由で、Android はそれを処理してテキストを中央に配置できません。ボタンを大きくしたり、テキストを小さくしたりすると、センタリングが機能することがわかります。

于 2012-06-11T10:50:38.007 に答える
0

setPadding で負の数を使用することもできます。これは、フォントが大きく、ボタンが小さい場合に役立ちます。それでも中心からずれている場合は、上部または下部をより負の数に設定してみてください。

于 2013-12-20T23:08:57.260 に答える
-2
<Button
                android:id="@+id/AnswerE"
                style="@style/defaultbuttonstyle"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:onClick="AnswerCheck"
                android:text=" E "
                android:textStyle="bold" />

これは私のために働いた

于 2012-10-08T10:11:06.917 に答える