gpt4 book ai didi

java - 如何垂直堆叠 AlertDialog 按钮?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:42:47 25 4
gpt4 key购买 nike

我正在使用构建器在 Android 中使用以下模式创建 AlertDialogs:

AlertDialog.Builder builder = new AlertDialog.Builder(context);

builder.setTitle(...);
builder.setMessage(...);

builder.setPositiveButton(button1Text, ...);
builder.setNeutralButton(button2Text, ...);
builder.setNegativeButton(button3Text, ...);

builder.show();

目前,只有两个按钮显示出来,因为按钮太宽,无法放入对话框中。如何强制按钮垂直堆叠?

我正在使用 Theme.AppCompat.Dialog.Alert 主题,它使用 ButtonBarLayout 来构建按钮。根据this answer , ButtonBarLayout 可以在设置其 mAllowStacking 属性时自动垂直堆叠宽按钮,但在我的例子中它似乎默认为 false。有什么方法可以在构建 AlertDialog 时将其设置为 true?

最佳答案

您不能使用 AlertDialog 来做到这一点。您应该创建一个自定义的 Dialog,并自己实现它。像这样的东西就可以了

Dialog dialog = new Dialog(context);
dialog.setContentView(R.layout.dialog_layout);
dialog.setTitle(...);
dialog.setMessage(...);
dialog.show();

你的布局 dialog_layout.xml 应该是这样的

<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
orientation="vertical">

<Button android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</LinearLayout>

关于java - 如何垂直堆叠 AlertDialog 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35880320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com