我将此代码用于 Android (Java) 编程:
public static MessageBoxResult showOk(
Context context, String title, String message, String okMessage)
{
okDialogResult = MessageBoxResult.Closed;
// make a handler that throws a runtime exception when a message is received
final Handler handler = new Handler()
{
@Override
public void handleMessage(Message mesg)
{
throw new RuntimeException();
}
};
AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setTitle(title);
alert.setMessage(message);
alert.setPositiveButton(okMessage, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
okDialogResult = MessageBoxResult.Positive;
handler.sendMessage(handler.obtainMessage());
}
});
AlertDialog dialog = alert.show();
// align button to center
Button b = (Button) dialog.findViewById(android.R.id.button1);
b.setGravity(Gravity.CENTER_HORIZONTAL);
// loop till a runtime exception is triggered.
try { Looper.loop(); }
catch(RuntimeException e2) {}
return okDialogResult;
}
我的问题是如何使按钮居中?如您所见,我尝试使用 Gravity.CENTER_HORIZONTAL
(也是 .CENTER
)将按钮与中心对齐,但没有任何变化。按钮几乎处于正确位置。
最佳答案
使用crtn的方法,但是不是改变LayoutParam的
重力,而是改变它的宽度为ViewGroup.LayoutParams.MATCH_PARENT;
关于android - 将 AlertDialog 按钮对齐到中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743038/