将按钮中的文本居中

时间:2012-07-30 14:25:33

标签: android text center

我的按钮文字有问题。当app在大屏幕移动设备上运行时,一切都很好。为了在小屏幕上看到所有组件,我在按钮和其他组件上设置了重量。按钮压缩后,文本不在中心,而是在按钮上(我猜压缩从底部压缩垂直尺寸。)

xml文件:     

        <LinearLayout
            android:id="@+id/layout_image"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@drawable/word_milk"
            android:gravity="center"
            android:orientation="vertical"
            android:visibility="visible" >

            <ImageView
                android:id="@+id/iv_cross"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/cross_small"
                android:visibility="invisible" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/layout_buttons"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:focusable="true"
            android:gravity="center_vertical"
            android:orientation="vertical"
            android:visibility="visible" >

            <Button
                android:id="@+id/b1"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="11dp"
                android:layout_weight="1"
                android:background="@drawable/shape_swarthy_green"
                android:gravity="center"
                android:maxHeight="45dp"
                android:onClick="B1Click"
                android:textColor="@color/Color_White"
                android:textSize="@dimen/TextSize_word" />

            <Button
                android:id="@+id/b2"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_gravity="center"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="11dp"
                android:layout_weight="1"
                android:background="@drawable/shape_swarthy_green"
                android:gravity="center"
                android:maxHeight="45dp"
                android:onClick="B2Click"
                android:textColor="@color/Color_White"
                android:textSize="@dimen/TextSize_word" />

            <Button
                android:id="@+id/b3"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_gravity="center"
                android:layout_marginBottom="11dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="11dp"
                android:layout_weight="1"
                android:background="@drawable/shape_swarthy_green"
                android:gravity="center"
                android:maxHeight="45dp"
                android:onClick="B3Click"
                android:textColor="@color/Color_White"
                android:textSize="@dimen/TextSize_word" />
        </LinearLayout>
    </LinearLayout>
截图:我在第一个按钮上设置了24sp的文本大小,在第二个按钮上设置了26sp,在thsp上设置了28sp,文本为“llllll”,以便更好地理解行为。

enter image description here

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

设置按钮属性android:gravity =“center” set property into java file btn.setGravity(Gravity.CENTER);

答案 1 :(得分:0)

我的猜测是你没有改变文本大小,所以在其他设备上文本试图适合按钮,但它不能,因为按钮太小。如果是这种情况,请根据屏幕为文本大小设置不同的维度。

但是,由于这里没有代码或截图,我无法确定是否属于这种情况。

答案 2 :(得分:0)

尝试填充希望它对你有用......

<Button
            android:id="@+id/b2"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_gravity="center"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="11dp"
            android:layout_weight="1"
            android:background="@drawable/shape_swarthy_green"
            android:gravity="center"
            android:maxHeight="45dp"
            android:onClick="B2Click"
            android:textColor="@color/Color_White"
            android:textSize="@dimen/TextSize_word"

            // add padding here

            android:paddingTop="10dip"
            android:paddingBottom="10dip"                 


/>