2014-10-05 40 views
1

我正在使用一個簡單的進度對話框。我想從左到右改變進度。如何更改ProgressDialog的位置?

ProgressDialog dialog = null ; //global var 

dialog = ProgressDialog.show(Register.this, "", "arabic words"); 
          dialog.getWindow().setGravity(Gravity.RIGHT); 

enter image description here

我該怎麼辦?

回答

1

我假設你是指消息而不是加載圖標旋轉的方向。如果是這樣,嘗試針對文本,而不是對話框:

TextView message = (TextView) dialog.findViewById(android.R.id.message); 
message.setGravity(Gravity.RIGHT); 

從這裏:Set right gravity to a message inside a ProgressDialog

+0

是有沒有辦法將加載圖標更改爲右側? – 2014-10-05 15:27:25

+0

嘗試找到微調器/進度條的視圖(例如,在我上面的示例中,「微調器」而不是「消息」)並設置重力。我目前無法測試,所以這個視圖實際上可能不會被稱爲「微調器」,但我認爲這將起作用。 – ipavl 2014-10-05 16:35:49

0

試試這個:

public class MainActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     View v = getLayoutInflater().inflate(R.layout.right_spin, null); 
     TextView txt = (TextView)v.findViewById(R.id.txt); 
     txt.setText("arabic words"); 
     ProgressDialog dialog = new ProgressDialog(this); 
     dialog.show(); 
     dialog.setContentView(v); 
    } 

right_spin.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/root" 
    android:background="#FFFFFF" > 


     <ProgressBar 
     android:id="@+id/progress" 
     android:layout_margin="16dip" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

    <TextView 
     android:id="@+id/txt" 
     android:layout_margin="16dip" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toLeftOf="@id/progress" /> 

</RelativeLayout>