您的位置:首页 > 移动开发 > Android开发

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

2014-12-04 09:52 323 查看
自定义布局蒙层和标题按钮位置代码控制移动位置 而不是一张图

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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: