按钮和文本大小

时间:2012-05-15 07:09:23

标签: android android-layout

按钮中的文字大小有问题。我有使用weightSum的布局,我的按钮宽度与父级匹配,高度为30%。一切正常,但当我在模拟器上更改屏幕大小时,我的文字仍然很小。如何更改大小文本取决于屏幕大小? 这是xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="100" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_weight="30" />

</LinearLayout>

有什么办法可以自动完成吗?

4 个答案:

答案 0 :(得分:3)

使用sp作为按钮的文本化单位

<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button"
android:textSize="20sp"
android:layout_weight="30" />

如果这不能解决您的问题,请创建

文件夹

1)布局 2)布局小 3)布局大 4)layout-xlarge

按照Nikhil的建议,但同时请考虑this

与上面建议的文件夹相同,您可以为每种屏幕类型创建不同的值文件夹

1)值2)值 - 小3)值 - 大...

在每个文件中创建名为dimens.xml的xml文件,并使用dimen资源的引用指定按钮的textSize,如下所示

<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button"
android:textSize="@dimen/small_font"
android:layout_weight="30" />

这将根据屏幕尺寸设置字体大小

希望这对你有用

答案 1 :(得分:1)

如果您在按钮中添加XML:

<Button
    android:id="@+id/button1"
    android:text="click me"
    android:textSize="22dp" />

这应该可以解决问题。

如果要动态更改文字大小,则应获取屏幕大小,然后使用button.setTextSize(size);

设置textSize

答案 2 :(得分:1)

对于不同的屏幕,Android中有不同的布局,如果你想让UI查找所有的屏幕,那么你必须为布局制作4个文件夹

1) layout
2) layout-small
3) layout-large
4) layout-xlarge

有关更多信息,请参阅此链接:

http://developer.android.com/guide/practices/screens_support.html

答案 3 :(得分:-3)

<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button"
    android:textSize="22dp"
    android:layout_weight="30" />