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

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

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

<style name="CustumButtonStyle" parent="@android:style/Widget.Button">
    ...
    <item name="android:textSize">30sp</item>
    ...</style>

在2.7 QVGA中看起来不错:

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

我试图使用'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>

在我的应用主题中,我有

<item name="android:buttonStyle">@style/CustumButtonStyle</item>

还有我的布局:

<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


慕的地8271018
浏览 554回答 3
3回答

catspeake

我通过维度和绘制类似的东西(使用dp但仅用于文本和drawText())XML:&nbsp;&nbsp;&nbsp;<dimen&nbsp;name="text_size">30sp</dimen>码:&nbsp;&nbsp;&nbsp;Paint&nbsp;p&nbsp;=new&nbsp;Paint(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.setTextSize(getResources().getDimension(R.dimen.text_Size));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android