Android动态改变控件的位置

先看效果效果图:

Android动态改变控件的位置_第1张图片Android动态改变控件的位置_第2张图片

大家看到了,关闭按钮的位置只是纵坐标发生了改变,横坐标依然还是居中的效果。

实现思路是:

监听布局的高度发生时,动态设置关闭按钮的位置。

关键代码:

ViewTreeObserver viewTreeObserver = ryTop.getViewTreeObserver();
		int x = 0;
		int y = 0;
		viewTreeObserver.addOnPreDrawListener(new OnPreDrawListener() {

			@Override
			public boolean onPreDraw() {
				int[] location = new int[2];
				ryTop.getLocationOnScreen(location);
				int x = location[0];
				int y = location[1];
				ryTop.getLocationInWindow(location);
				x = location[0];
				y = location[1];
				x = (ryTop.getRight() - ryTop.getLeft()) / 2 + ryTop.getLeft() - (180 / 2);
				y = ryTop.getBottom() - (180 / 2);
				btnGainCoupon.setX(x);
				btnGainCoupon.setY(y);
				return true;
			}
		});

资源链接,猛戳此处

你可能感兴趣的:(android,布局,Androi动态,动态改变控件的位置)