在Android中的按钮内左对齐文本

时间:2012-07-05 03:26:15

标签: java android xml

我想将按钮的文本对齐到左边,我不知道该怎么做,请帮我在xml文件中如何做到这一点。我找不到这个属性。

8 个答案:

答案 0 :(得分:142)

也许这会对你有所帮助:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="left|center_vertical"
        android:text="Button" />

</LinearLayout>

答案 1 :(得分:38)

你可能想要两个

    android:gravity="left|center_vertical"

然后一点点

    android:paddingLeft="5dip"

保持文本不会碰到按钮的左边缘。

(根据您的按钮艺术调整padding_left的数量。)

答案 2 :(得分:21)

android:gravity="left"

希望这会有所帮助

答案 3 :(得分:2)

您可能需要同时使用android:gravityandroid:layout_gravity将文字对齐到“左”。

答案 4 :(得分:2)

android:gravity="left|center_vertical"

它可以工作,但是现在您可能需要根据需要添加一些填充。

        android:paddingLeft="10dp"

答案 5 :(得分:1)

这是上面的组合,对我有效,左边的图标和左边的文字对齐了一些填充

<Button
    android:id="@+id/butt_labs"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableLeft="@drawable/dt_labjob"
    android:paddingLeft="10dip"
    android:gravity="left|center_vertical"
    android:text="@string/l_labs" />

答案 6 :(得分:1)

正如其他人提到的那样,"left|center_vertical"有效,但我发现如果没有明确说明左边或右边,大多数属性都默认为左边。

因此,下面的内容应该足以使文本左对齐并垂直居中:

android:gravity="center_vertical"

答案 7 :(得分:0)

如果您必须支持多种不同的语言,最好使用 startend 来定位文本。这样对于从右到左 (RTL) 语言它仍然有效。

示例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="start|center_vertical"
        android:text="Button" />

</LinearLayout>