我知道如何使用预定义的XML创建自定义对话框。
我想动态创建一个带有LinearLayout和按钮的对话框。
我尝试了下面的代码,但似乎我的按钮重叠了。我该如何防止这种情况?
public void createMenu(MenuItem item){
Dialog menuDiag = new Dialog(Home.this);
menuDiag.setTitle("Browse");
LinearLayout linearLayout = new LinearLayout(menuDiag.getContext());
LinearLayout.LayoutParams params;
Button button;
categoryList = parse.getPlayList();
for(int i=0;i<categoryList.size();i++){
params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
button = new Button(menuDiag.getContext());
button.setText(categoryList.get(i).getTitle());
button.setBackgroundResource(iconCheck(categoryList.get(i).getTitle()));
button.setLayoutParams(params);
menuDiag.addContentView(button, params);
}
params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
menuDiag.addContentView(linearLayout, params);
menuDiag.show();
}
答案 0 :(得分:1)
尝试将LinearLayout
的方向设置为垂直,这样它会自动置于第一个View
如果您使用的是LinearLayout
,请使用
yourLayout.setOrientation(LinearLayout.VERTICAL);
设置方向