0

我创建了一个自定义主题来定义标题栏的大小及其背景样式。这是代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="customTheme" parent="android:Theme"> 
        <item name="android:windowTitleSize">53px</item>
        <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>   
            <item name="android:windowContentOverlay">@android:color/transparent</item>
    </style> 
</resources>

问题是我为此标题栏设置了固定大小,而不是根据设备使用的是 hdpi/mdpi 还是 ldpi 图标使用不同的值。

这里应该做什么?我尝试将主题和样式添加到可绘制目录,但显然这是错误的。

谢谢!

4

2 回答 2

1

我不知道这是否会对您有所帮助,但您可以通过编程方式检测屏幕密度。我没有使用自定义标题栏,所以我不知道您是否可以以编程方式更改标题大小。

        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        switch(metrics.densityDpi){
             case DisplayMetrics.DENSITY_LOW:
                 **
                        break;
             case DisplayMetrics.DENSITY_MEDIUM:
                 **
                         break;
             case DisplayMetrics.DENSITY_HIGH:
                **
                         break;
        }
于 2011-06-10T17:41:21.243 回答
1

您是否考虑过百分比宽度或与密度无关的像素 (dp)?看看 Android 的测量单位

于 2011-06-10T17:46:16.023 回答