Android笔记:代码编写布局控制显示位置

 

自定义布局蒙层和标题按钮位置代码控制移动位置   而不是一张图

  final RelativeLayout private_desc_back = new RelativeLayout(mContext);

            private_desc_back.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
            private_desc_back.setBackgroundResource(R.drawable.private_share_desc_popuwind);
            private_desc_back.setGravity(Gravity.CENTER);
            final ImageView   landing_img = new ImageView(mContext);
            RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT );
            landing_img.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

                @SuppressLint("NewApi")
                @Override
                public void onGlobalLayout() {
                    landing_img.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    LogUtil.v(TAG, "=========test OnGlobalLayoutListener==========");
                    int topMargin = priShareView.getTop();
                    int eftMargin = priShareView.getLeft();
                    int rightMargin = priShareView.getRight();
                    int bottomMargin = priShareView.getBottom();
                    int cenx1 = (rightMargin + eftMargin) / 2;
                    int cenY1 = (bottomMargin + topMargin) / 2;

                    int topMargin1 = landing_img.getTop();
                    int eftMargin1 = landing_img.getLeft();
                    int rightMargin1 = landing_img.getRight();
                    int bottomMargin1 = landing_img.getBottom();
                    int cenx2 = (rightMargin1 + eftMargin1) / 2;
                    int cenY2 = (bottomMargin1 + topMargin1) / 2;

                    landing_img.scrollTo(cenx2 - cenx1, cenY2 - cenY1);

                }
            });
            
            share_desc.setClickable(false);
            private_desc_back.addView(landing_img, params);
            landing_img.setImageResource(R.drawable.landing_desc_1);
            landing_img.setScaleType(ScaleType.CENTER);
            private_desc_back.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    private_desc_back.setVisibility(View.GONE);
                    share_desc.setClickable(true);
                    
                }
            });
            fl_content.addView(private_desc_back);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值