动态添加控件及将某XML动态加入到Activity显示
参考原文在https://blog.csdn.net/harvic880925/article/details/18042183#
下面我是我修改的一段测试代码
import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ProgressBar; import android.graphics.Color; import android.view.View.OnClickListener; import android.view.ViewGroup.LayoutParams; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast;
 public void addC(View view){
// 获取需要被添加控件的Linear布局(方法二)
        setContentView(R.layout.activity_main);
        final LinearLayout lin = (LinearLayout) findViewById(R.id.mainLinearLayout);
        // 添加一个LinearLayout布局,设置成layout_width:wrap_content;layout_height:wrap_content;
        LinearLayout layout = new LinearLayout(this); // 线性布局方式
        layout.setOrientation(LinearLayout.HORIZONTAL); //
        layout.setBackgroundColor(0xff00ffff);
        LinearLayout.LayoutParams LP_MM = new LinearLayout.LayoutParams(
                LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
        layout.setLayoutParams(LP_MM);
        //添加一个ImageView,设置成layout_width:50;layout_height:50;
        ImageView imageView = new ImageView(this);
        imageView.setBackgroundResource(R.mipmap.ic_logo);
        LinearLayout.LayoutParams PARA = new LinearLayout.LayoutParams(50, 50);//
        imageView.setLayoutParams(PARA);
        layout.addView(imageView);
        //添加一个TextView,设置成layout_width:wrap_content;layout_height:wrap_content;
        TextView tv = new TextView(this); // 普通聊天对话
        tv.setText("我和猫猫是新添加的");
        tv.setBackgroundColor(Color.GRAY);
        LinearLayout.LayoutParams LP_WW = new LinearLayout.LayoutParams(
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        tv.setLayoutParams(LP_WW);
        layout.addView(tv);
        //将动态增加的布局添加到当前布局中;
        lin.addView(layout);
        setContentView(lin);
        // 向动态添加的imageView,添加点击响应
        imageView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(MainActivity.this, "点击了图片", Toast.LENGTH_SHORT)
                        .show();
            }
        });
登录后可发表评论
点击登录