0

我知道如何使用预定义的 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();

}
4

1 回答 1

1

尝试将您的方向设置LinearLayout为垂直,这样它将自动放置在第一个下方View

如果您正在使用,请LinearLayout使用

yourLayout.setOrientation(LinearLayout.VERTICAL);

设置方向

于 2012-04-20T19:48:01.017 回答