2016-11-27 13 views
3

AlertDialogの項目をdialog.setItems()によって作成された中央に揃えるにはどうすればよいですか?私はIDのタイトルとメッセージのためのアライメントを設定することがあることを知っているAndroid AlertDialog中心に揃える項目を設定する

AlertDialog.Builder timeOutDialog = new AlertDialog.Builder(getActivity()); 
timeOutDialog.setTitle("Set Timer"); 
final String[] types = {"5 min", "15 min", "30 min", "1 hour", "3 hours", "6 hours", "12 hours", "24 hours"}; 

timeOutDialog.setItems(types, new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     dialog.dismiss(); 
     switch(which){ 
      case 0: // 5m 
       timerLength = 0; 
       break; 

      case 1: // 15m 
       timerLength = 1; 
       break; 

      // ... 
     } 
     timeOutButton.setText(types[which]); 
    } 

}); 

AlertDialog dialog = timeOutDialog.show(); 

は例えば、これはデフォルトのままにアライメントで数回のためのオプションを持つダイアログを作成します。 titleとmessage(例:android.R.id.message)のように整列を設定できるIDがありますか?

私は答えを探しましたが、これを行う唯一の方法は、ダイアログを膨らませたり、カスタムの中心のスピナーでカスタムダイアログXMLを作成したりすることでした。それらは私の唯一の選択肢ですか?私はそれでmaterial-dialogs

と呼ばれるライブラリを使用して解決策を見つけた

みんなの関心のため

答えて

1

おかげで、私はスピナーだけでなく、タイトルを中央揃えすることができています。私の経験では、バニラアンドロイドを使ったポップアップスピナーを中心にこれまでのところ非常に時間がかかりました。

@OnClick(R.id.list) 
    public void showList() { 
     new MaterialDialog.Builder(this) 
       .title(R.string.socialNetworks) 
       .items(R.array.socialNetworks) 
       .itemsCallback(new MaterialDialog.ListCallback() { 
        @Override 
        public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) { 
         showToast(which + ": " + text); 
        } 
       }).itemsGravity(GravityEnum.CENTER) 
       .titleGravity(GravityEnum.CENTER) 
       .show(); 
    } 
+0

この良いライブラリを指摘してくれてありがとう。 –

関連する問題