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 / * ;
// 设置左边屏幕的位置属性为左边距的 -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));