转载http://blog.csdn.net/xizhao88/article/details/7996098
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);
}