2014-12-16 21 views
7

Ho una finestra di avviso nella finestra di dialogo android xml file.my ha un'icona nella parte sinistra di esso. Desidero modificare la posizione dell'icona sul lato destro. Io non voglio usare dialogo custum troppoAndroid: modifica l'icona della finestra di dialogo di avviso

come questo:

enter image description here

+1

stai usando la localizzazione? Sono queste le tue stringhe predefinite? Penso che se li metti nella cartella araba puoi ottenere il comportamento. – AlexBalo

+0

La localizzazione in Persiano dovrebbe funzionare –

+0

la mia direzione della lingua è rtl (da destra a sinistra) e voglio spostare l'icona sul lato destro del titolo della finestra di dialogo –

risposta

0

a) Se si dispone come un disegnabile nel titolo della finestra (TextView), basta usare drawableRight

android:drawableRight="@drawable/yourIcon" 

b) Se si tratta di un ImageView/ImageButton in un RelativeLayout, utilizzare alignParentRight

android:layout_alignParentRight="true" 

c) Se si tratta di un ImageView/ImageButton in un LinearLayout, metterlo dopo il TextView

<LinearLayout 
     android:layout_width="300dp" 
     android:layout_height="300dp"> 

     <TextView 
      android:text="some text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

     <ImageView 
      android:src="@drawable/yourIcon" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

</LinearLayout> 

Spero che questo ti aiuta.

0

Per l'impostazione della direzione del layout della finestra di avviso in RTL è possibile utilizzare il metodo OnShowListener. dopo aver impostato titolo, messaggio, .... utilizzare questo metodo.

dialog = alertdialogbuilder.create(); 

     dialog.setOnShowListener(new DialogInterface.OnShowListener() { 
      @Override 
      public void onShow(DialogInterface dlg) { 

      dialog.getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL); // set title and message direction to RTL 
      } 
     }); 
     dialog.show();