我的按钮文字有问题。当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”,以便更好地理解行为。
感谢您的帮助。
答案 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"
/>