小编for*_*ain的帖子

文字大小和不同的Android屏幕尺寸

我知道,已经讨论了1000次,但我不能调整不同屏幕尺寸的文字大小.我尝试在自定义样式中使用'sp'作为大小单位:

<style name="CustumButtonStyle" parent="@android:style/Widget.Button">
    ...
    <item name="android:textSize">30sp</item>
    ...
</style>
Run Code Online (Sandbox Code Playgroud)

在2.7 QVGA中它看起来不错:

2.7QVGA 30sp

但在7in WSVGA中它看起来像这样:

7在WSVGA 30sp中

我试图使用'sp'和'dp'同样的结果.

您能解释一下如何在任何屏幕上使这些按钮看起来一样吗?

完整的自定义按钮样式

<style name="CustumButtonStyle" parent="@android:style/Widget.Button">
    <item name="android:background">@drawable/custom_button</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_margin">3dp</item>
    <item name="android:textColor">#ffffff</item>
    <item name="android:gravity">center</item>
    <item name="android:textSize">30sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:shadowColor">#000000</item>
    <item name="android:shadowDx">1</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">2</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在我的应用主题中,我有

<item name="android:buttonStyle">@style/CustumButtonStyle</item>
Run Code Online (Sandbox Code Playgroud)

还有我的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:background="@drawable/grid"
android:gravity="center"
android:orientation="vertical" android:layout_height="fill_parent">

<Button
    android:id="@+id/buttonContinue"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center"
    android:gravity="center"
    android:text="@string/continue_game" android:layout_marginTop="3dp" android:layout_marginBottom="3dp"/>



<Button
    android:id="@+id/buttonNewGame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/buttonContinue"
    android:layout_alignRight="@+id/buttonContinue"
    android:layout_below="@+id/buttonContinue"
    android:layout_gravity="center"
    android:gravity="center"
    android:text="@string/new_game" android:layout_marginTop="3dp" android:layout_marginBottom="3dp"/>



<Button …
Run Code Online (Sandbox Code Playgroud)

android text-size screen-size

110
推荐指数
5
解决办法
27万
查看次数

标签 统计

android ×1

screen-size ×1

text-size ×1