经过对stackoverflow和google的大量研究后,我发现我的问题没有问题。 好吧,我想在对话框的右上角创建一个高度= 50,宽度= 50的按钮。 好吧,我可以毫无问题地设置高度,但宽度不起作用。 我尝试创建一个linearLayout,但params从未考虑过。 这是我的代码(高度设置正确):
private void hello(){
Button button = new Button(this);
button.setMinimumWidth(0);
button.setWidth(50);
button.setMinimumHeight(0);
button.setHeight(50);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
sayHello();
}
});
new AlertDialog.Builder(this)
.setTitle("Hello world")
.setView(button)
.setPositiveButton("ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
Toast.makeText(getApplicationContext(), "Click !",
Toast.LENGTH_SHORT).show();
hello();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
}
})
.show();
}
我尝试过:
button.setLayoutParams(new LinearLayout.LayoutParams(50, 50));
没有任何成功。
并且:
LinearLayout.LayoutParams rlp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
rlp.height = 50;
rlp.width = 50;
button.setText("i");
button.setLayoutParams(rlp);
并且不起作用......
我真的不明白发生了什么,你能帮帮我吗?
我确切地说,我没有任何xml,它只适用于java。
答案 0 :(得分:0)
我最终决定创建自己的警告对话框,以便根据需要自定义它。 我不得不创建一个xml文件并使用了inflater。 setHeight工作的原因而不是setWidth将永远保持神秘......
感谢您的帮助