2017-08-30 1 views
0

J'ai essayé d'afficher une barre de progression dans la barre de titre de mon activité, et j'ai du mal à la centrer.Android: Comment afficher ProgressBar centré à l'appui ActionBar

Mon code à ce jour:

Progressbar mise en page:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="fill_horizontal" > 

    <ProgressBar 
     android:id="@+id/progressBar" 
     style="?android:attr/progressBarStyleHorizontal" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:progress="50" /> 
</RelativeLayout> 

mise en page d'activité:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/activity_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 


    </android.support.v7.widget.Toolbar> 
</LinearLayout> 

code Java:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_view); 

    Toolbar myToolbar = (Toolbar) findViewById(R.id.activity_toolbar); 
    setSupportActionBar(myToolbar); 
    getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_CUSTOM); 
    View progress = getLayoutInflater().inflate(R.layout.progressbar_layout, null); 
    getSupportActionBar().setCustomView(progress); 
} 

assez simple, mais les résultats sont tout à fait horrible, la chose semble bizarre ...

Screenshot of uncentered progressbar

Même chose dans l'inspecteur de la mise en page

Screenshot of layout inspector with uncentered progressbar

Toute idée comment procéder?

Je n'ai pas besoin d'autres fonctions de la barre d'action en plus de la flèche de menu et de retour. Serait-il possible d'afficher ces contrôles séparément avec le comportement attendu? (ce qui est assez complexe, en particulier pour le menu overflow)

Ou est-il possible de modifier le style ActionBar pour que les deux côtés aient la même taille (pad ET marge)?

Des idées?

Répondre

0

Okey .. vérifier ma réponse sur cette question .. Je pense qu'il pourrait être utile pour vous Title bar

+1

Peut-être que je donne sur quelque chose, mais je ne vois pas comment ça aide ... Mon problème est que les contrôles sur les deux côtés (flèche arrière et menu) ont des largeurs très différentes, il est donc très difficile de centrer quoi que ce soit entre les deux. – user1623826

+0

okey .. j'ai essayé beaucoup de solutions et ce que j'ai obtenu est que cet espace est créé par androïde flèche arrière par défaut de sorte que vous avez deux solution pour cela. Le premier en définissant une marge Démarrer pour vous RelativeView dans ** ProgressLayout.xml ** pour ressembler au milieu. la seconde est que (ce que je préférais) vous définissez votre barre d'outils barre de propriétaire comme je l'ai mentionné dans le lien et je peux vous aider à le faire si vous le souhaitez. –