2014-12-16 15 views
7

Tôi có hộp thoại cảnh báo trong tệp tin xml android.my alert có biểu tượng ở phía bên trái của nó. Tôi muốn thay đổi vị trí của biểu tượng sang bên phải. tôi không muốn sử dụng custum thoại quáAndroid: thay đổi vị trí của biểu tượng hộp thoại cảnh báo

như thế này:

enter image description here

+1

bạn đang sử dụng bản địa hóa? Đây có phải là các chuỗi mặc định của bạn không? Tôi nghĩ rằng nếu bạn đặt chúng trong thư mục arabic bạn có thể đạt được hành vi. – AlexBalo

+0

Bản địa hóa sang tiếng Ba Tư nên hoạt động –

+0

hướng ngôn ngữ của tôi là rtl (phải sang trái) và tôi muốn di chuyển biểu tượng sang bên phải tiêu đề của hộp thoại –

Trả lời

0

a) Nếu bạn có nó như là một drawable trong tiêu đề hộp thoại (TextView), chỉ cần sử dụng drawableRight

android:drawableRight="@drawable/yourIcon" 

b) Nếu đó là ImageView/ImageButton trong RelativeLayout, hãy sử dụng alignParentRight

android:layout_alignParentRight="true" 

c) Nếu nó là một ImageView/ImageButton trong một LinearLayout, đặt nó sau khi 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> 

Hy vọng điều này sẽ giúp bạn.

0

Để đặt hướng bố cục của hộp thoại cảnh báo thành RTL, bạn có thể sử dụng phương pháp OnShowListener. sau khi đặt tiêu đề, tin nhắn, .... sử dụng phương pháp này.

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(); 
Các vấn đề liên quan