Android项目---LayoutParams

LinearLayout.LayoutParams

extends ViewGroup.MarginLayoutParams

java.lang.Object
   ↳ android.view.ViewGroup.LayoutParams
     ↳ android.view.ViewGroup.MarginLayoutParams
       ↳ android.widget.LinearLayout.LayoutParams
Android项目---LayoutParamsKnown Direct Subclasses
 
 

LayoutParams继承于Android.View.ViewGroup.LayoutParams.
       LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。
       可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是棋子的LayoutParams。

但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值:
       1,一个确定的值;
       2,FILL_PARENT,即填满(和父容器一样大小);
       3,WRAP_CONTENT,即包裹住组件就好。

    /**
* 获取屏幕的方法
*/
private void MyWindowWidth() {
// 获取屏幕的宽度
WindowManager wm = (WindowManager) HomeActivity.this
.getSystemService(Context.WINDOW_SERVICE);
// 获取默认显示屏幕宽度
int width = wm.getDefaultDisplay().getWidth();// 取出屏幕的宽度
// 获取layout左边的屏幕的参数属性
LinearLayout.LayoutParams lp = (LayoutParams) left_menu
.getLayoutParams();
// 设置左边屏幕宽度属性为默认屏幕宽度的 8/10
lp.width = width / * ;
// 设置左边屏幕的位置属性为左边距的 -8/10
lp.leftMargin = -width / * ;
// 将设置好的layout左边屏幕的参数属性放到菜单栏上
left_menu.setLayoutParams(lp); // 获得ViewGroup的屏幕的参数属性
ViewGroup.LayoutParams lp2 = (LayoutParams) viewgroup.getLayoutParams();
// 设置ViewGroup的屏幕宽度为默认宽度
lp2.width = width;
// 将设置好的右边viewgroup屏幕的参数属性放到自定义布局上
viewgroup.setLayoutParams(lp2);
// 获得屏幕中titile的参数属性
lp3 = (LayoutParams) title.getLayoutParams();
// 给titile的宽度设置为屏幕的默认宽度
lp3.width = width;
}

向viewGroup中添加View

viewgroup.addView(localActivityManager.getActivity(activityName)
.getWindow().getDecorView(), new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
上一篇:uoj #15. 【NOIP2014】生活大爆炸版石头剪刀布


下一篇:【模拟】洛谷 P1328 NOIP2014提高组 day1 T1 生活大爆炸版石头剪刀布