Android项目---LayoutParams
时间:2014-05-05 22:42:45
收藏:0
阅读:361
LinearLayout.LayoutParams
extends ViewGroup.MarginLayoutParams
java.lang.Object | |||
? | android.view.ViewGroup.LayoutParams | ||
? | android.view.ViewGroup.MarginLayoutParams | ||
? | android.widget.LinearLayout.LayoutParams |
Known 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 / 10 * 8; // 设置左边屏幕的位置属性为左边距的 -8/10 lp.leftMargin = -width / 10 * 8; // 将设置好的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));
评论(0)