android 动态设置获取控件大小,并设置宽度等于高度,或者高度等于宽度。

来源:互联网 发布:家用电器哪些实用 知乎 编辑:程序博客网 时间:2024/05/21 15:06

 

public static void setViewWidthByHeight(View view) {final View mv = view;final ViewTreeObserver vto = mv.getViewTreeObserver();final ViewTreeObserver.OnPreDrawListener preDrawListener = new ViewTreeObserver.OnPreDrawListener() {public boolean onPreDraw() {//int width = mv.getMeasuredWidth();int height = mv.getMeasuredHeight();android.view.ViewGroup.LayoutParams lp = mv.getLayoutParams();lp.width = height;mv.setLayoutParams(lp);final ViewTreeObserver vto1 = mv.getViewTreeObserver();vto1.removeOnPreDrawListener(this);return true;}};vto.addOnPreDrawListener(preDrawListener);}