2016-06-05 8 views
0

Ich möchte eine u unter Symbolleiste zeigen, aber das Problem ist, sagen meine Symbolleiste Größe ist 50dp und wenn ich meine Layout Marge von Top 50 dann für einige Android-Version seine Arbeit. Ich denke, über API 22 brauchen wir auch status_bar_height, was in der Höhe der Werkzeugleiste enthalten ist. Was ist der beste Weg, um Werkzeugleiste Höhe zu bekommen, so dass ich über dieser Symbolleiste anzeigen kann. Ich zeige einen Overlay-Bildschirm mit transparentemToolbar Höhe von oben für alle Android-Version

int statusBar = getStatusBarHeight(); 
       RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
         RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); 
       layoutParams.setMargins(0, (statusBar + 50), 0, 0); 
       MainRel.setLayoutParams(layoutParams); 
       MainRel.setVisibility(View.VISIBLE); 
} 


public int getStatusBarHeight() { 
    int result = 0; 
    int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); 
    if (resourceId > 0) { 
     result = getResources().getDimensionPixelSize(resourceId); 
    } 
    return result; 
} 

Antwort

0

Verwenden Sie diesen generischen Code. Überschreiben Sie die OnWindowFocusChanged

+0

aber StatusBar nur nach API 22 benötigt – andro