打赏

android约束布局动态添加控件或者动态修改布局 记录笔记

复制代码
 ConstraintSet constraintSet =new ConstraintSet();
//        第一个按钮
        View ivLeft = getLayoutInflater().inflate(R.layout.item_262, null);
        TextView tvText = ivLeft.findViewById(R.id.btn);
        tvText.setText("Monday");
        setFontEn(myContext,tvText);
        ivLeft.setId(R.id.pm1);
        setParam(R.id.pm1,constraintSet);

        constraintSet.connect(
                R.id.pm1, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM,
                762
        );
        constraintSet.connect(
                R.id.pm1, ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START,
                104
        );

        constraintLayout.addView(ivLeft);
         objectAnimator = starCloudX(ivLeft, 0, -25, 7000);
         objectAnimator1 = starCloudY(ivLeft, 0, -34, 7000);
        ivLeft.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                playMusic(R.raw.shuipaosheng);
                objectAnimator.pause();
                objectAnimator1.pause();
                box1_qiti.setAlpha(1f);
                gifFromPath1.reset();
                Path path= new Path();
                path.moveTo(ivLeft.getX(),ivLeft.getY());
                path.lineTo(box1_qiti.getX()+box1_qiti.getWidth()/2-ivLeft.getWidth()/2,box1_qiti.getY()+box1_qiti.getHeight()/2-ivLeft.getHeight()/2);
                ObjectAnimator objectAnimator = starPath(ivLeft, path, 500, 0);
                starAlpha(ivLeft,1f,0f,500,0);
                box1_qiti.setAlpha(1f);
                gifFromPath1.reset();
                new Thread(){
                    @Override
                    public void run() {
                        super.run();
                        try {
                            this.sleep(200);
                            playMusic(R.raw.xiu);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }.start();
                objectAnimator.addListener(new Animator.AnimatorListener() {
                    @Override
                    public void onAnimationStart(Animator animator) {

                    }

                    @Override
                    public void onAnimationEnd(Animator animator) {
                        tv.setText(tv.getText().toString()+" "+tvText.getText().toString());
                    }

                    @Override
                    public void onAnimationCancel(Animator animator) {

                    }

                    @Override
                    public void onAnimationRepeat(Animator animator) {

                    }
                });


            }
        });
//第二个按钮
        View ivLeft2 = getLayoutInflater().inflate(R.layout.item_262, null);
        TextView tvText2 = ivLeft2.findViewById(R.id.btn);
        tvText2.setText("many");
        setFontEn(myContext,tvText2);
        ivLeft2.setId(R.id.pm2);
        setParam(R.id.pm2,constraintSet);

        constraintSet.connect(
                R.id.pm2, ConstraintSet.BOTTOM, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM,
                295
        );
        constraintSet.connect(
                R.id.pm2, ConstraintSet.END, ConstraintSet.PARENT_ID, ConstraintSet.END,
                1092
        );
        ivLeft2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                playMusic(R.raw.shuipaosheng);
                objectAnimator2.pause();
                objectAnimator21.pause();
                Path path= new Path();
                path.moveTo(ivLeft2.getX(),ivLeft2.getY());
                path.lineTo(box1_qiti.getX()+box1_qiti.getWidth()/2-ivLeft2.getWidth()/2,box1_qiti.getY()+box1_qiti.getHeight()/2-ivLeft2.getHeight()/2);
                ObjectAnimator objectAnimator = starPath(ivLeft2, path, 500, 0);
                starAlpha(ivLeft2,1f,0f,500,0);
                box1_qiti.setAlpha(1f);
                gifFromPath1.reset();
                new Thread(){
                    @Override
                    public void run() {
                        super.run();
                        try {
                            this.sleep(200);
                            playMusic(R.raw.xiu);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }.start();
                objectAnimator.addListener(new Animator.AnimatorListener() {
                    @Override
                    public void onAnimationStart(Animator animator) {

                    }

                    @Override
                    public void onAnimationEnd(Animator animator) {
                        tv.setText(tv.getText().toString()+" "+tvText2.getText().toString());
                    }

                    @Override
                    public void onAnimationCancel(Animator animator) {

                    }

                    @Override
                    public void onAnimationRepeat(Animator animator) {

                    }
                });

            }
        });
        constraintLayout.addView(ivLeft2);
        objectAnimator2=starCloudX(ivLeft2,0,-25,7000);
        objectAnimator21=starCloudY(ivLeft2,0,34,7000);
//        第三个按钮
        View ivLeft3 = getLayoutInflater().inflate(R.layout.item_262, null);
        TextView tvText3 = ivLeft3.findViewById(R.id.btn);
        tvText3.setText("have");
        setFontEn(myContext,tvText3);
        ivLeft3.setId(R.id.pm3);
        setParam(R.id.pm3,constraintSet);

        constraintSet.connect(
                R.id.pm3, ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START,
                890
        );
        constraintSet.connect(
                R.id.pm3, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP,
                55
        );
        ivLeft3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                playMusic(R.raw.shuipaosheng);
                objectAnimator3.pause();
                objectAnimator31.pause();
                box1_qiti.setAlpha(1f);
                gifFromPath1.reset();
                Path path= new Path();
                path.moveTo(ivLeft3.getX(),ivLeft3.getY());
                path.lineTo(box1_qiti.getX()+box1_qiti.getWidth()/2-ivLeft3.getWidth()/2,box1_qiti.getY()+box1_qiti.getHeight()/2-ivLeft3.getHeight()/2);
                ObjectAnimator objectAnimator = starPath(ivLeft3, path, 500, 0);
                starAlpha(ivLeft3,1f,0f,500,0);
                box1_qiti.setAlpha(1f);
                gifFromPath1.reset();
                new Thread(){
                    @Override
                    public void run() {
                        super.run();
                        try {
                            this.sleep(200);
                            playMusic(R.raw.xiu);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }.start();
                objectAnimator.addListener(new Animator.AnimatorListener() {
                    @Override
                    public void onAnimationStart(Animator animator) {

                    }

                    @Override
                    public void onAnimationEnd(Animator animator) {
                        tv.setText(tv.getText().toString()+" "+tvText3.getText().toString());
                    }

                    @Override
                    public void onAnimationCancel(Animator animator) {

                    }

                    @Override
                    public void onAnimationRepeat(Animator animator) {

                    }
                });
            }
        });
        constraintLayout.addView(ivLeft3);
        objectAnimator3=starCloudX(ivLeft3,0,25,7000);
        objectAnimator31=starCloudY(ivLeft3,0,34,7000);




        TransitionManager.beginDelayedTransition(constraintLayout);
        constraintSet.applyTo(constraintLayout);

复制代码
    @BindView(R.id.layout)
    ConstraintLayout constraintLayout;

 

posted @   YY2000  阅读(2642)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示