0

Я знаю, что есть много встроенных тем для ActionBar: Holo Light, Holo Dark, Holo Light с Dark ActionBar ...Android ActionBar: как получить свою тему?

Есть ли способ узнать, является текущей темой ActionBar является Dark или свет?

+0

вы пытались [context.getTheme()] (http://developer.android .com/reference/android/content/Context.html # getTheme()) – suitianshi

+0

Существует несколько методов, относящихся к теме, но они не то, что мне нужно. – anticafe

+0

http://stackoverflow.com/a/9537629/1318946 –

ответ

0

С предложить от сообщества разработчиков Android (Google+), я, наконец, найти там такой метод из HoloEverywhere исходного кода: ThemeManager.getThemeType(context)

public static int getThemeType(Context context) { 
     TypedArray a = context.obtainStyledAttributes(new int[] { 
       R.attr.holoTheme 
     }); 
     final int holoTheme = a.getInt(0, 0); 
     a.recycle(); 
     switch (holoTheme) { 
      case 1: 
       return DARK; 
      case 2: 
       return LIGHT; 
      case 3: 
       return MIXED; 
      case 4: 
       return PreferenceManagerHelper.obtainThemeTag(); 
      case 0: 
      default: 
       return INVALID; 
     } 
    } 
Смежные вопросы