gpt4 book ai didi

java - Android AlertDialog 设置项目对齐中心

转载 作者:太空狗 更新时间:2023-10-29 13:11:09 27 4
gpt4 key购买 nike

如何将 AlertDialog 中的项目与 dialog.setItems() 创建的中心对齐?

例如,这将创建一个带有多次选项的对话框,默认左对齐:

AlertDialog.Builder timeOutDialog = new AlertDialog.Builder(getActivity());
timeOutDialog.setTitle("Set Timer");
final String[] types = {"5 min", "15 min", "30 min", "1 hour", "3 hours", "6 hours", "12 hours", "24 hours"};

timeOutDialog.setItems(types, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
switch(which){
case 0: // 5m
timerLength = 0;
break;

case 1: // 15m
timerLength = 1;
break;

// ...
}
timeOutButton.setText(types[which]);
}

});

AlertDialog dialog = timeOutDialog.show();

我知道有 ID 可以设置标题和消息的对齐方式。是否有 ID 允许像标题和消息一样设置对齐方式(例如 android.R.id.message)?

我搜索了答案,许多人说唯一的方法是扩充对话框或使用自定义居中微调器创建自定义对话框 xml。这些是我唯一的选择吗?

最佳答案

感谢大家的关注,

我通过使用名为 material-dialogs 的库找到了解决方案

有了它,我可以将标题和微调器居中。根据我的经验,到目前为止,使用 vanilla android 将弹出微调器居中是非常耗时的。

@OnClick(R.id.list)
public void showList() {
new MaterialDialog.Builder(this)
.title(R.string.socialNetworks)
.items(R.array.socialNetworks)
.itemsCallback(new MaterialDialog.ListCallback() {
@Override
public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
showToast(which + ": " + text);
}
}).itemsGravity(GravityEnum.CENTER)
.titleGravity(GravityEnum.CENTER)
.show();
}

关于java - Android AlertDialog 设置项目对齐中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40833302/

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