gpt4 book ai didi

android - 以编程方式 AlertDialog 上的复选框不获取中心重力

转载 作者:行者123 更新时间:2023-11-29 01:00:48 25 4
gpt4 key购买 nike

我正在创建一个仅使用代码的 AlertDialog 并为复选框插入一个 View 。但是检查具有奇怪的引力行为。

我如何将 text+box 放在中间,或者至少将 text 放在左边,并开始填充。

谢谢。

private void openFilterDialog() {
final AlertDialog.Builder builder = new AlertDialog.Builder(Objects.requireNonNull(getContext()));
builder.setTitle(getString(R.string.filter));

// Set up the input
final CheckBox hideNoResponseBox = new CheckBox(getContext());
//Put the checkBox on the right side
hideNoResponseBox.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
hideNoResponseBox.setText(R.string.hide_no_responses);
hideNoResponseBox.setChecked(hideNoResponse);
hideNoResponseBox.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
hideNoResponseBox.setGravity(View.TEXT_ALIGNMENT_CENTER);

builder.setView(hideNoResponseBox);

// Set up the buttons
builder.setPositiveButton(getString(R.string.do_filter), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (Utils.isDoubleClick()) return;
hideNoResponse = hideNoResponseBox.isChecked();

showLoadingDialog(true);
hideListItem(adapter.getDistanceArrayList());
dialog.dismiss();
}
});
builder.setNegativeButton(getString(R.string.str_cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});

builder.show();
}

enter image description here

最佳答案

CheckBox 的setGravity() 方法继承自View 类,将Gravity 常量作为值。

https://developer.android.com/reference/android/view/Gravity

编辑:

您可以尝试使用布局参数设置文本引力。 AlertDialog 的 LayoutParams 是 LinearLayout 的 LayoutParams,如下所述:What LayoutParams should be used in an AlertDialog?

你只需要使用 LayoutParam 的 setGravity() 方法。

关于内边距,您可以尝试将 CheckBox 的父级转换为 ViewGroup 并在那里设置内边距,如下所示:

https://stackoverflow.com/a/38691663/1403997

关于android - 以编程方式 AlertDialog 上的复选框不获取中心重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51310930/

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