动态更改View的大小

如果要更改LinearLayout布局的大小 则可以这样写 

ScreenSizeCaculation 是自己写的一个类  用来计算自己要想转换的像素具体大小。

import android.content.Context;

/**
 * Created by Dai xueyue on 15/4/30.
 */
public class ScreenSizeCaculation {

  public static int dip2px(Context context, float dipValue){
    final float scale = context.getResources().getDisplayMetrics().density;
    return  (int)(dipValue * scale +0.5f);
  }

  public static int px2dip(Context context, float pxValue){
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int)(pxValue / scale + 0.5f);
  }
}

LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) styleArea.getLayoutParams();
params.width = LinearLayout.LayoutParams.MATCH_PARENT;
params.height = ScreenSizeCaculation.dip2px(getActivity().getApplicationContext(),300);
styleArea.setLayoutParams(params);


如果是 FrameLayout的话    就改写成 

FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) styleArea.getLayoutParams();
params.width = FrameLayout.LayoutParams.MATCH_PARENT;
params.height = ScreenSizeCaculation.dip2px(getActivity().getApplicationContext(),300);
styleArea.setLayoutParams(params);


猜你喜欢

转载自blog.csdn.net/qijian0503/article/details/45397641