【发布时间】:2016-05-31 17:32:45
【问题描述】:
我需要在Button 中居中一个大数字,但它总是向下移动显示。请看图片:
我的 activity_main.xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:textSize="490sp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:gravity="center"
android:textAlignment="center"
android:includeFontPadding="false"
android:text="8" />
</LinearLayout>
如果我设置一些较小的文本大小 - 它会正确居中。
此外,如果我将ImageButton 与android:scaleType="center" 一起使用,图像将完美居中。但我需要将文本居中。
你能帮忙吗,如何解决这个问题?
这绝对是一个 Android 错误。可能有一些类或解决方法。
【问题讨论】:
-
请显示完整版面。您的按钮受父级约束,无法长到足以容纳文本。要么更改父级以允许更大的子级,要么减小文本大小。
-
我尝试了不同的布局——大文本总是向下移动。您可以创建一个新的简单项目并尝试在按钮内放置一些大文本。与 TextView 相同的问题。可能需要为这种居中实现一些特殊的类,但是在哪里可以找到它。
-
这不是完整的布局,您的 LinearLayout 可能仍受其父级的约束。请发布完整的 XML 布局。
-
我认为 fill_parent 有问题。你能试一下吗 。按钮的宽高 wrap_content
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="8" android:textSize="80sp" /> -
我建议制作 450sp..
标签: android android-layout button textview android-button