0

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

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,在第三个按钮上设置了 28sp,并带有文本“llllll”,以便更好地说明行为。

在此处输入图像描述

谢谢你的帮助。

4

3 回答 3

1

设置按钮属性 android:gravity="center" 设置属性到 java 文件也 btn.setGravity(Gravity.CENTER);

于 2012-07-31T10:56:14.853 回答
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"                 


/>
于 2012-07-31T08:52:43.513 回答
0

我的猜测是您没有更改文本大小,因此在其他设备上,文本尝试适合按钮,但由于按钮太小而不能。如果是这种情况,请根据屏幕为文本大小设置不同的尺寸。

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

于 2012-07-30T15:03:03.723 回答