2016-11-24 18 views
1

以下は、okボタンを左側に示すマイコードです。設定方法警告ダイアログで左側の代わりにニュートラルボタンの位置を中央に設定

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
     builder.setMessage("No product found"); 
     builder.setCancelable(false); 
     builder.setNeutralButton(
       "Ok", 
       new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         ((MainActivity)getActivity()).fragment_Scan_call(); 
        } 
       }); 
// Must call show() prior to fetching text view 
     AlertDialog alert = builder.create(); 
     alert.show(); 
+1

がcustiom AlertDialogビューを作成して使用することができますnutral湖底の前にスペースを取得したい場合

alertDialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface dialog) { Button neutralButton = alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL); LinearLayout view = (LinearLayout) neutralButtonOrAnyOtherBtnFromThe3Btns.getParent(); Space space= (Space) view.getChildAt(1); space.setVisibility(View.GONE); } }); 

その後、あなたはbuttomsを設計、実装することができます。 – Sanoop

答えて

2
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
builder.setMessage("No product found"); 
builder.setCancelable(false); 
builder.setNeutralButton(
      "Ok", 
      new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        ((MainActivity)getActivity()).fragment_Scan_call(); 
       } 
      }); 
// Must call show() prior to fetching text view 
    AlertDialog alert = builder.create(); 
    alert.show(); 

final Button neutralButton = alert.getButton(AlertDialog.BUTTON_NEUTRAL); 
LinearLayout.LayoutParams neutralButtonLL = (LinearLayout.LayoutParams) neutralButton.getLayoutParams(); 
neutralButtonLL.gravity = Gravity.CENTER; 
neutralButton.setLayoutParams(neutralButtonLL); 
+0

試しましたか?私のために働いていないからです。実際には、(テスト用の)** Gravity.CENTER **を水平または垂直に変更しようとすると、** OKボタン**の位置に変更はありません。 –

+0

alert.show()を呼び出した後にlayoutParamsを設定していますか? –

+0

はい、alert.show()を呼び出した後にLayoutParametersを設定しています。 –

1

多くのGoogleは検索とデフォルトAlertDialogレイアウト研究の後、私はneutral button-ve/+ve buttonsの間のスペースのレイアウトは、場所にあることを考え出した「1」buttonBarLayoutボタンでで。

だから、最初に我々はそのスペースを削除したり、それはまた、我々はより良​​い方法を使用するように(それはまだbuttonBarLayoutにスペースをとるようになるinvisible)視界GONEだようにする必要がありonShowListnerより良いことでダイアログを表示した後のことをやって:あなたが希望として、あるいはあなたがちょうどあなたがthis question

関連する問題