2017-03-08 5 views
0

どのデバイスでも、progressDarの中にprogressBarの位置が異なります。だから私はそれをカスタマイズする必要があります。カスタムprogressDialogの作成方法

私はこのようにしてみてください:この進捗ダイアログがダイアログなしでのみプログレスバーが表示さ

public class CustomProgressDialog extends ProgressDialog { 

    public CustomProgressDialog(Context context) { 
     super(context); 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.progress_fragment_dialog); 
    } 
    } 


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

    <ProgressBar 
     android:layout_width="wrap_content" 
     android:layout_gravity="center" 
     android:background="@color/colorPrimary" 
     android:layout_height="match_parent" 
     android:id="@+id/progressBar" /> 

</LinearLayout> 

。しかし、私もダイアログが必要です。

+0

http://islandofatlas.net/2014/03/29/android-custom-progress-dialog.html Iことを、あなたが意味するか、このリンク –

答えて

2

さまざまなデバイスで一貫性を持たせるため、プログレスバーを含むカスタムダイアログを作成します。

final Dialog dialog = new Dialog(context); 
dialog.setContentView(R.layout.custom); 
dialog.setTitle("Title..."); 

// set the custom dialog components - title, ProgressBar and button 
TextView text = (TextView) dialog.findViewById(R.id.text); 
text.setText("COUSTOM PROGRESS TITLE"); 
ProgressBar prog = (ProgressBar) dialog.findViewById(R.id.myprogress); 
prog.setVisibilty(VISIBLE); 

Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); 
    // if button is clicked, close the custom dialog 
    dialogButton.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     dialog.dismiss(); 
    } 
}); 

dialog.show(); 

レイアウト:

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

    <ProgressBar 
     android:id="@+id/myprogress" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@color/colorPrimary" 
     android:layout_marginRight="5dp" /> 

    <TextView 
     android:id="@+id/text" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textColor="#FFF" 
     android:layout_toRightOf="@+id/image"/>/> 

    <Button 
     android:id="@+id/dialogButtonOK" 
     android:layout_width="100px" 
     android:layout_height="wrap_content" 
     android:text=" Ok " 
     android:layout_marginTop="5dp" 
     android:layout_marginRight="5dp" 
     android:layout_below="@+id/myprogress" 
     /> 

</RelativeLayout> 
+0

を試してみてくださいDialogを拡張するクラスを作成する必要はありませんか?しかし、Progress Dialogを使用するたびに、そのような多くのコードがあります! –

+0

あなたはまた、それとは別の方法でこれと同じことをすることができますどのように取り組むか分かっている場合、それを行うことができます。 –

関連する問題