Ich habe vor kurzem eine Android-App entwickelt, in der ich ein benutzerdefiniertes Layout und Dimension für die Tab-Leiste haben muss. Die Art und Weise, wie ich es bis jetzt gemacht habe, besteht darin, die ActionBarSherlock-Bibliothek von Jake Wharton zu verwenden, um Versionen vor HoneyComb Android zu unterstützen, und einen Stil auf die App anzuwenden, in dem ich das actionBarSize-Stilelement bearbeite.Ändern Actionbar Höhe auf Android JellyBean
Jetzt habe ich die App auf dem Galaxy S3 (mit Jellybean darauf) getestet, und die Höhe der Tab Bar ändert sich nicht mehr nach dem actionBarSize
Wert. JellyBean Code der Suche durch, und ich fand diese Methode in der ActionBarPolicy
Klasse
Also habe ich begonnen:
public int getTabContainerHeight() {
TypedArray a = mContext.obtainStyledAttributes(null, R.styleable.ActionBar,
com.android.internal.R.attr.actionBarStyle, 0);
int height = a.getLayoutDimension(R.styleable.ActionBar_height, 0);
Resources r = mContext.getResources();
if (!hasEmbeddedTabs()) {
// Stacked tabs; limit the height
height = Math.min(height,
r.getDimensionPixelSize(R.dimen.action_bar_stacked_max_height));
}
a.recycle();
return height;
}
Von dem, was ich in diesem Verfahren sammeln, scheint es, dass JellyBean die Höhe des TabBar begrenzt, Wenn sich die App im Hochformat befindet, indem Sie die Höhe der Tab-Leiste auf den Dimensionswert "action_bar_stacked_max_height" setzen (48dp, in der Datei /values/dimen.xml
von 4.1), obwohl ich die Höhe der Aktionsleiste unter actionBarSize
eingestellt habe.
Ich habe versucht, diesen Dimensionswert zu überschreiben, indem ich ihn auf meinen eigenen Wert in meiner eigenen dimen.xml
Datei setzte, aber ich hatte kein Glück. Es hat nicht funktioniert.
Meine Frage:
Wissen Sie Jungs eine Art und Weise, in der ich den „action_bar_stacked_max_height“ Dimen Wert außer Kraft setzen kann?
Vielen Dank im Voraus!
Ich habe auch das gleiche Problem. Gibt es eine Lösung dafür? – user936414