Unterschiedlich farbene Status Bars in verschiedenen xml's

  • Antworten:5
zer
  • Forum-Beiträge: 9

10.08.2017, 21:08:05 via Website

Hallo, ich haette gerne fuer jede neue Seite die ich in meiner App habe eine andere farbe der Status Bar. Wie bekomme ich das hin? Ich weiss nur wie ich alle gleichfarbig bekomme.

Antworten
zer
  • Forum-Beiträge: 9

11.08.2017, 07:22:32 via Website

Das Funktioniert nicht mit der Statusbar. Nur mit der Toolbar.

Antworten
swa00
  • Forum-Beiträge: 3.704

11.08.2017, 07:28:05 via Website

Hallo Zer,

zur Laufzeit kannst du das über den WindowManager realisieren.

BSP :
https://stackoverflow.com/a/36753271/6337627

— geändert am 11.08.2017, 07:34:52

Liebe Grüße - Stefan
[ App - Entwicklung ]

zer

Antworten
zer
  • Forum-Beiträge: 9

11.08.2017, 07:48:56 via Website

Hallo, vielen Dank.
Ich habe nun folgenden Code genommen:

public static void setTaskBarColored(Activity context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
Window w = context.getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//status bar height
int statusBarHeight = Utilities.getStatusBarHeight(context);

        View view = new View(context);
        view.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        view.getLayoutParams().height = statusBarHeight;
        ((ViewGroup) w.getDecorView()).addView(view);
        view.setBackgroundColor(context.getResources().getColor(R.color.colorPrimaryTaskBar));
    }
}

alles ist in Ordnung ausser das Utilities bei dem integer statusBarHeight. Wofuer ist das und wie bekomme ich es weg?

Antworten
swa00
  • Forum-Beiträge: 3.704

11.08.2017, 07:57:06 via Website

Na den musst du dir schon selbst aus den DecorViews ermitteln .

Das oben war ja nur ein Anwendungsbeispiel und der Poster hat ja lediglich den Weg aufgezeigt.
(Offensichtlich sich auch eine eigene Klasse zur Ermittlung der Height gebastelt)

Und das Gleiche bastelst du dir dann auch

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten