以下是我的代码,左侧显示确定 按钮。
UIButton
答案 0 :(得分:3)
经过许多Google搜索和学习默认的AlertDialog布局后,我发现neutral button
和-ve/+ve buttons
之间的空格布局与地点" 1"在buttonBarLayout
中的按钮。
因此,首先,我们需要移除该空间并使其具有可见性GONE
(invisible
还会让它在buttonBarLayout
中占用空间)我们最好使用方法onShowListner,而不是在显示对话框之后执行:
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);
}
});
然后你可以根据需要设计臀部,或者如果你想在中立之前得到空间,你可以使用this question
答案 1 :(得分:1)
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);
答案 2 :(得分:0)
BUTTON_NEUTRAL
,BUTTON_NEGATIVE
和BUTTON_POSITIVE
没有附加任何语义(除了实际名称之外),因此,如果您想简单地“移动”按钮位置将事件监听器和标签翻转到所需位置上的任意按钮。
即鉴于您的原始代码为:
builder.setNeutralButton("Save Draft", saveDraftListener)
builder.setNegativeButton("Cancel", cancelListener)
builder.setPositiveButton("Send", sendListener)
您可以将其翻转至:
// flip neutral and negative buttons
builder.setNeutralButton("Cancel", cancelListener)
builder.setNegativeButton("Save Draft", saveDraftListener)
builder.setPositiveButton("Send", sendListener)
以真正的“矮胖”的方式,任何按钮都可以用于您想要的任何东西,包括将BUTTON_NEGATIVE
用作确定,将BUTTON_POSITIVE
用作取消。