带有 NumberPicker 的 AlertDialog 呈现不正确
Posted
技术标签:
【中文标题】带有 NumberPicker 的 AlertDialog 呈现不正确【英文标题】:AlertDialog with NumberPicker rendered incorrectly 【发布时间】:2015-01-31 12:02:29 【问题描述】:我在 AlertDialog 中使用 NumberPicker 进行“渲染”时遇到问题。 我给你看代码:
//setup del dialog
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setCancelable(false);
final NumberPicker picker = new NumberPicker(activity);
picker.setMinValue(0);
picker.setMaxValue(5);
//set bottoni dialog
builder.setPositiveButton(R.string.dialog_btn_seleziona, seleziona);
builder.setNegativeButton(R.string.dialog_btn_annulla, null);
//visualizzo il dialog
Dialog dialog = builder.create();
dialog.show();
问题是,而不是有这样的结果:我有这个结果:蓝线选择器太长,我想要第一张照片的相同长度我创建了这个主题:NumberPicker rendered incorrectly in a Dialog 解释如何解决这个问题,解决方案是: 而不是这个
android:layout_
你应该使用
android:layout_
android:layout_gravity="center"
问题是我没有布局(由我自己为这个数字选择器制作)所以我需要以编程方式设置这个参数,但我不知道如何。
【问题讨论】:
你的代码和评论应该是英文的,以便让包括你在内的每个人都能理解(想象一下中文评论,对你来说一文不值) 代码是英文的。关于弹出窗口?试着打开你的想象力。干杯。 【参考方案1】:对不起,我之前误会了。您只需要使用 wrap_content 创建一个父视图并将您的选择器放入其中。以下是您在代码中执行此操作的方法:
final NumberPicker picker = new NumberPicker(activity);
picker.setMinValue(0);
picker.setMaxValue(5);
final FrameLayout parent = new FrameLayout(activity);
parent.addView(picker, new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT,
Gravity.CENTER));
builder.setView(parent);
【讨论】:
以上是关于带有 NumberPicker 的 AlertDialog 呈现不正确的主要内容,如果未能解决你的问题,请参考以下文章
带有 Formatter 的 Android NumberPicker 在第一次渲染时不格式化
去除 android中EditText的下划线 fragment 切换调用的方法 Activity获取Fragment参数 绘制圆角矩形 普通dialog demo 使用 AlertDi