Как получить цвет от attr для другой темы? - PullRequest
0 голосов
/ 14 января 2019

В моем приложении я меняю цвет строки состояния программно. Но когда я меняю тему, я хочу сделать то же самое, получая цвет строки состояния из attrs.xml и применяя его к строке состояния программным способом.

style.xml

<style name="AppThemeDark" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="colorPrimary">#002b27</item>

</style>


<style name="AppThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="colorPrimary">#e0e7e6</item>

</style>

attrs.xml

<declare-styleable name="theme">

    <attr name="colorPrimary" format="color"/>

</declare-styleable>

MainActivity.Java

    int[] attrs = {R.attr.statusBarColorInboxTop};
            TypedArray ta = getApplicationContext().obtainStyledAttributes(attrs);
            int color = ta.getResourceId(0, android.R.color.holo_blue_dark);
            ta.recycle();





getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
            getWindow().setStatusBarColor(getResources().getColor(color));
...