Android项目---LayoutParams

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,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在44列,这里的“44列”就是棋子的LayoutParams

       但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值:
       1,一个确定的值;
       2FILL_PARENT,即填满(和父容器一样大小);
       3WRAP_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));

 

Android项目---LayoutParams,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。