Android - Как создавать темы, которые зависят от разрешения экрана? - PullRequest
0 голосов
/ 10 июня 2011

Я создал собственную тему, чтобы определить размер строки заголовка и стиль фона. Это код:

<?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.

Что здесь нужно сделать? Я попытался добавить тему и стили в каталог drawable, но, очевидно, это неправильно.

Спасибо!

Ответы [ 2 ]

1 голос
/ 10 июня 2011

Рассматривали ли вы процентную ширину ИЛИ плотность, независимые пиксели (dp)?Взгляните на Android единицы измерения

1 голос
/ 10 июня 2011

Не знаю, поможет ли это вам, но вы можете программно определять плотность экрана. Я не работал с пользовательской строкой заголовка, поэтому не знаю, можно ли изменить размер заголовка программно.

        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;
        }
...