2016-04-26 3 views
0

Lesen this so question man kann sehen, dass Toolbar verschiedene Höhen im Landscape vs Portrait-Modus verwendet.Wie kann ich Toolbar neu erstellen, wenn Rotation auftritt

Wenn jedoch android:configChanges="orientation|screenSize" angegeben wird, bleibt die Höhe der Werkzeugleiste gemäß der Ausrichtung, in der die Aktivität erstellt wurde, statisch und ändert sich nicht, wenn das Gerät gedreht wird.

Wie kann ich das umgehen? Ich denke, dass entweder ich die Symbolleiste innerhalb Methode ändern sollte oder ich sollte die Symbolleiste zerstören und neu erstellen und lassen Sie es ihre Standardhöhe von Grund auf neu. Ich mag diesen zweiten Weg eigentlich besser, aber ich weiß nicht, wie ich das tun soll, daher sind irgendwelche Vorschläge willkommen.

+0

sollten Sie das To zerstören und neu erstellen olbar und lass es seine Standardhöhe von Grund auf – USKMobility

+0

Yeap aber wie kann ich das tun? – ThanosFisherman

+0

erstellen Sie ein anderes Layout für Hoch- und Querformat und definieren Sie die Symbolleistenhöhe nach Ihren Wünschen – USKMobility

Antwort

0

Rotation Ereignis zu erhalten:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    // Checks the orientation of the screen 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
    } 
} 

, um die Größe Layout:

Zuerst Sie das Layout u wanna Resize zu erklären haben:

RelativeLayout rl = (RelativeLayout) findViewById(R.id.yourId); 

und die Größe:

rl.getLayoutParams().height = 100; // replace 100 with your dimensions 
    rl.getLayoutParams().width = 100; 
Verwandte Themen