在 AlertDialog 中使用动态布局当您添加两个以上的小部件时,它们会折叠或覆盖

问题描述

alertdialog.xml 文件中使用的相对布局均使用相对布局

lrs.steep

如果只放置了一个小部件,它似乎工作正常,但是一旦添加一个小部件,它将被覆盖或替换,并且位置约束无效

final RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
RelativeLayout relativeLayout = new RelativeLayout(this);
layout.addView(relativeLayout);
RelativeLayout.LayoutParams relativeLayoutParams = (RelativeLayout.LayoutParams) relativeLayout.getLayoutParams();
relativeLayout.setBackground(getResources().getDrawable(R.drawable.ic_play_pause));
relativeLayout.setonClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        View pop = getLayoutInflater().inflate(R.layout.activity_second,(ViewGroup)findViewById(R.id.root),false);
        AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).setView(pop).create();
        RelativeLayout relativeLayout = pop.findViewById(R.id.layout2);
        dialog.show();

        ImageView imageView = new ImageView(MainActivity.this);
        relativeLayout.addView(imageView);
        imageView.setimageResource(R.drawable.ic_play_grid_filled_off);
        RelativeLayout.LayoutParams imgParams = (RelativeLayout.LayoutParams)imageView.getLayoutParams();
        imgParams.height = RelativeLayout.LayoutParams.WRAP_CONTENT;
        imgParams.width = RelativeLayout.LayoutParams.WRAP_CONTENT;
        imageView.setLayoutParams(imgParams);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...