Ich hatte vor kurzem ein ähnliches Problem und löste es, indem ich meine eigene Fortschrittsleiste erstellte und sie dann durch Manipulation von getTop() der Inhaltsansicht anpasste.
Also zuerst erstellen Sie Ihre Fortschrittsbalken.
final LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, 20); //Use dp resources
mLoadingProgressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);
mLoadingProgressBar.setIndeterminate(true);
mLoadingProgressBar.setLayoutParams(lp);
Fügen Sie es zu dem Fenster (Dekor Ansicht)
final ViewGroup decor = (ViewGroup) getWindow().getDecorView();
decor.addView(mLoadingProgressBar);
Und um es in seiner richtigen Position Im bekommen ViewTreeObserver
verwenden, die die Ansicht hört bis geführt gelegt (aka die View.getTop() ist nicht 0).
final ViewTreeObserver vto = decor.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
final View content = getView(android.R.id.content);
@Override
public void onGlobalLayout() {
int top = content.getTop();
//Dont do anything until getTop has a value above 0.
if (top == 0)
return;
//I use ActionBar Overlay in some Activities,
//in those cases it's size has to be accounted for
//Otherwise the progressbar will show up at the top of it
//rather than under.
if (getSherlock().hasFeature((int) Window.FEATURE_ACTION_BAR_OVERLAY)) {
top += getSupportActionBar().getHeight();
}
//Remove the listener, we dont need it anymore.
Utils.removeOnGlobalLayoutListener(decor, this);
//View.setY() if you're using API 11+,
//I use NineOldAndroids to support older
ViewHelper.setY(mLoadingProgressBar, top);
}
});
Hoffnung, die für Sie Sinn macht. Viel Glück!
Es gibt eine Arbeit um vorgeschlagen von: http://StackOverflow.com/Questions/13934010/progressbar-under-action-bar/15073680#15073680 aber diese Lösung ziemlich viel vereitelt den ganzen Zweck des Versuchs, AppCompat zu verwenden. Kann jeder den Fortschrittsbalken mithilfe von AppCompat unterhalb der Aktionsleiste positionieren? – user2382843
Unglaublich, wie so ein gemeinsames Problem keine einfache Lösung hat ... –