我需要创建一个AlertDialog
,它会垂直分割为两个区域:
问题是,是否可能有类似的东西或所有alertDialogs必须将所有按钮放在底部?我甚至不知道从哪里开始。我试过看AlertDialog
课,但可以看到任何合适的东西。
答案 0 :(得分:3)
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity,
R.style.MyAlertDialogStyle);
builder.setTitle(mActivity.getResources().getString(R.string.app_name));
builder.setCancelable(false);
builder.setMessage(str_message);
builder.setPositiveButton(str_btn1,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (listener != null) {
listener.onClick(null);
}
}
});
if (str_btn2 != null) {
builder.setNegativeButton(str_btn2,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface,
int i) {
if (listener2 != null) {
listener2.onClick(null);
}
}
});
}
builder.show();
编辑:请参阅上图。你会得到这样的输出。只需创建一个对话框样式
styles.xml中的对话框样式
<style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> <!-- Used for the buttons -->
<item name="android:textStyle">bold</item>
<item name="colorAccent">@android:color/holo_blue_bright</item>
<!-- Used for the title and text -->
<item name="android:textColorPrimary">@android:color/black</item>
<!-- Used for the background -->
<item name="android:background">@android:color/white</item>
</style>
答案 1 :(得分:1)
看起来您不需要AlertDialog
,但是您可以使用AlertDialog
来完成此操作。创建视图,然后使用AlertDialog.Builder
而不调用setPositiveButton()
,setNegativeButton()
等。
AlertDialog alertDialog = new AlertDialog.Builder(context)
.setView(yourContentView)
.create();
答案 2 :(得分:0)
您可以使用以下3个步骤创建自己的自定义对话框布局:
看here。
答案 3 :(得分:0)
恐怕为时已晚,但是一个非常简单的解决方案是:
假设您知道将按钮设置为AlertDialog
的两种方法,那么我将省略此部分:
…
yourDialog.show();
Button btn = yourDialog.getButton(DialogInterface.BUTTON_NEUTRAL);//Whatever button it is.
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) btn.getLayoutParams();
params.topMargin = yourValue;//Enter your desired margin value here.
params.bottomMargin = yourValue;
params.leftMargin = yourValue;
params.rightMargin = yourValue;
btn.setLayoutParams(params);