在android中按钮内的文本居中

时间:2014-05-03 22:42:04

标签: android xml

我查看了stackoverflow并看到一些ppl在按钮内居中文本方面存在问题。我尝试过引力,居中,textAlignment等等。但到目前为止还没有任何效果。有没有人对如何解决这个问题有任何想法?感谢

此按钮基本上是一个带有减号或 - 符号的按钮,但它不会将 - 符号放在中心。我用+也试过这个,但没有运气。任何帮助表示赞赏。

我可以让按钮将文本居中,但我必须使用wrap_content来表示宽度和高度。我不想要一个比较大的按钮。希望40dp by 40dp

<Button
            android:id="@+id/button_minusMin"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_below="@+id/edit_minute"
            android:layout_marginLeft="55dp"
            android:background="@drawable/button1"
            android:text="@string/button_minusMin"
            android:textAlignment="gravity"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:textStyle="bold" />

这是我的button1 xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item><layer-list>
        <item android:right="5dp" android:top="5dp"><shape>
                <corners android:radius="3dp" />

                <solid android:color="#000000" />
            </shape></item>
        <item android:bottom="2dp" android:left="2dp"><shape>
                <gradient android:angle="270" android:endColor="#000000" android:startColor="#F06F14" />

                <stroke android:width="1dp" android:color="#BABABA" />

                <corners android:radius="4dp" />

                <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
            </shape></item>
    </layer-list></item>

我已经尝试了以下哪个有效但想要着色这就是为什么我使用了button1.xml我的button1.xml中的东西是什么东西掉了?

<Button
            android:id="@+id/button_minusSets"
            android:layout_width="35dp"
            android:layout_height="40dp"
            android:layout_below="@+id/edit_sets"
            android:layout_marginLeft="55dp"
            android:background="#F06F14"
            android:text="@string/button_minusSets"
            android:textColor="#FFFFFF"
            android:textSize="30sp"
            android:textStyle="bold" />

2 个答案:

答案 0 :(得分:0)

您是否尝试将android:gravity="center"添加到按钮?

编辑1:添加按钮XML

<Button
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@drawable/button_drawable"
    android:gravity="center"
    android:text="+" >
</Button>

答案 1 :(得分:0)

快速回答(可能没有告诉您代码无法正常工作,但仍在执行此工作的原因)是将此按钮与某种布局的文本视图放在一起(FrameLayout或{{3}最好)。

例如像这样(请自己插入你的ID):

<FrameLayout
    android:layout_width="40dp"
    android:layout_height="40dp" >

    <Button
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/button1" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal"
        android:text="@string/button_minusSets"
        android:textColor="#FFFFFF"
        android:textSize="30sp"
        android:textStyle="bold" />
</FrameLayout>

这为您提供了您想要的居中文本。

如果我想出你的代码问题的解决方案,我会在评论中写下来。