Библиотека HoloEverywhere, помогите разобраться

Ответить
Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Библиотека HoloEverywhere, помогите разобраться

Сообщение neoksi » 15 мар 2013, 20:20

Второй день разбираюсь с этой замечательной библиотекой, но так как документации по ней нет, то понимание её механизмов работы из исходников усложняется. Да и в демо проекте комментариев не замечаю.

У меня сейчас основной вопрос по установке темы на приложение, есть два способа:
1) Если я устанавливаю тему Holo через манифест на все приложение, то в логах вижу следующее:

Код: Выделить всё

03-15 21:10:38.640: E/ResourceType(202): Style contains key with bad entry: 0x010102f0
03-15 21:10:38.640: E/ResourceType(202): Style contains key with bad entry: 0x010102fd
03-15 21:10:38.640: E/ResourceType(202): Style contains key with bad entry: 0x01010308
03-15 21:10:38.640: E/ResourceType(202): Style contains key with bad entry: 0x0101030a
03-15 21:10:38.640: E/ResourceType(202): Style contains key with bad entry: 0x0101030b
03-15 21:10:38.640: E/ResourceType(202): Style contains key with bad entry: 0x0101032c
03-15 21:10:38.890: E/ResourceType(5940): Style contains key with bad entry: 0x010102f0
03-15 21:10:38.890: E/ResourceType(5940): Style contains key with bad entry: 0x010102fd
03-15 21:10:38.890: E/ResourceType(5940): Style contains key with bad entry: 0x01010308
03-15 21:10:38.890: E/ResourceType(5940): Style contains key with bad entry: 0x0101030a
03-15 21:10:38.890: E/ResourceType(5940): Style contains key with bad entry: 0x0101030b
03-15 21:10:38.890: E/ResourceType(5940): Style contains key with bad entry: 0x0101032c

Проект запускается, но эти ошибки меня немного напрягают.

2) Второй вариант установки через класс от Application:

Код: Выделить всё

package org.holoeverywhere.demo;

import org.holoeverywhere.HoloEverywhere;
import org.holoeverywhere.HoloEverywhere.PreferenceImpl;
import org.holoeverywhere.LayoutInflater;
import org.holoeverywhere.ThemeManager;
import org.holoeverywhere.app.Application;

import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;

public class DemoApplication extends Application {
    private static final String PACKAGE = DemoApplication.class.getPackage().getName();
    static {
        HoloEverywhere.DEBUG = true;
        HoloEverywhere.PREFERENCE_IMPL = PreferenceImpl.JSON;

        LayoutInflater.registerPackage(PACKAGE + ".widget");

        ThemeManager.setDefaultTheme(ThemeManager.MIXED);

        // Android 2.1 incorrect process FULLSCREEN flag
        if (VERSION.SDK_INT >= VERSION_CODES.FROYO) {
            ThemeManager.modify(ThemeManager.FULLSCREEN);
        }

        ThemeManager.map(ThemeManager.DARK,
                R.style.Holo_Demo_Theme);
        ThemeManager.map(ThemeManager.LIGHT,
                R.style.Holo_Demo_Theme_Light);
        ThemeManager.map(ThemeManager.MIXED,
                R.style.Holo_Demo_Theme_Light_DarkActionBar);

        ThemeManager.map(ThemeManager.DARK | ThemeManager.FULLSCREEN,
                R.style.Holo_Demo_Theme_Fullscreen);
        ThemeManager.map(ThemeManager.LIGHT | ThemeManager.FULLSCREEN,
                R.style.Holo_Demo_Theme_Light_Fullscreen);
        ThemeManager.map(ThemeManager.MIXED | ThemeManager.FULLSCREEN,
                R.style.Holo_Demo_Theme_Light_DarkActionBar_Fullscreen);
    }
}
Но тут буквально на секунду при загрузке приложения проскакивает дефолтная тема, что портит все впечатление.

Кто работает с этой библиотекой, посоветуйте как правильно ставить тему и зачем вообще этот класс DemoApplication? А так же как он работает?

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Библиотека HoloEverywhere, помогите разобраться

Сообщение neoksi » 15 мар 2013, 21:46

Все разобрался откуда эти ошибки, они на работу не влияют, просто этих значений нету в старых Андроид версиях.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Библиотека HoloEverywhere, помогите разобраться

Сообщение rezak90 » 16 мар 2013, 15:09

Дело в том что у этой либы есть и свой апликейшен и даже активити, хоть я и не до конца понял зачем активити но апликейшен необходим для такой либы. Но тебе не нужн вообще трогать это апликейшен, а подключать легко, просто наследуешь свою тему от ихней или же сразу пишешь ихнию в манифест.
На счёт логов то это нормально и не стоит обращать внимание, такое особенно часто когда на телефоне стоит кастомная прошивка.
R.id.team
Политика на форуме запрещена

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Библиотека HoloEverywhere, помогите разобраться

Сообщение neoksi » 16 мар 2013, 15:32

rezak90 писал(а):Дело в том что у этой либы есть и свой апликейшен и даже активити, хоть я и не до конца понял зачем активити но апликейшен необходим для такой либы. Но тебе не нужн вообще трогать это апликейшен, а подключать легко, просто наследуешь свою тему от ихней или же сразу пишешь ихнию в манифест.
На счёт логов то это нормально и не стоит обращать внимание, такое особенно часто когда на телефоне стоит кастомная прошивка.
Ну я прописал в манифест начальную тему, реализовал апликейшин и даже сделал процедуру смены и запоминания новой темы приложения.

Апликейшин тут нужен чтоб задать изначальные настройки, на сколько я понял.
Активити своя чтоб перекрыть существующую от Android и добавить методы.

П.С. Реализовывая все это, я задумался, а как сделать выбор запускаемой активити исходя из настроек приложения, можно ли это сделать через Апликейшин?

Ответить