`
wang_2011_ying
  • 浏览: 144694 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

LayoutParams和LayoutInflater理解

 
阅读更多
LayoutParams继承于Android.view.ViewGroup.LayoutParams
LayoutParams封装了Layout的高,宽等信息,假设一个区域由一个Layout占领,如果将一个View添加到Layout中,需要告诉Layout用户期望的布局方式,即将一个认可的LayoutParams传递进去。
LayoutParams描述的宽高的值可以设置为下边3个值中的任何一种:
一个确定的值;
FILL_PARENT,即View希望和父容器一样大;
WRAP_CONTENT,指当前的View的大小只需要包裹住View里面的内容即可。
private LinearLayout layout;
layout = (LinearLayout)findViewById(R.id.layout);
TextView view = new TextView(Activity01.this);
view.setText("Text View");
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layout.addView(view,params);


LayoutInflater的作用类似于findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体widget控件(如:Button,TextView等)。LayoutInflater的作用是将一个XML文档变成一个View,使用的典型是在Activity的onCreate方法里
LayoutInflater inflate = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);//LayoutInflater需要通过getSystemService方法来获得,而不能直接实例化
RelativeLayout layoutLeft = (RelativeLayout) inflate.inflate(R.layout.left, null);//调用inflate方法将left.xml进行解析,并生成一个RelativeLayout布局
分享到:
评论

相关推荐

    LayoutParams类

    LayoutParams类描述

    Android LinearLayout.LayoutParams 使用方法

    1.LinearLayout.LayoutParams使用说明 2.在Java代码中利用LinearLayout.LayoutParams构建布局

    WindowManager.LayoutParams

    在此文档中列出了 所有WindowManager.LayoutParams的参数及详细信息

    LayoutParams

    LayoutParams

    WindowManager属性详解

    WindowManager属性详解:WindowManager.LayoutParams 是 WindowManager 接口的嵌套类;继承于 ViewGroup.LayoutParams 。 它的内容十分丰富。其实WindowManager.java的主要内容就是由这个类定义构成。

    windowManager.LayoutParams

    各参数内容描述~~

    android - 交换控件(relativelayout)位置,LayoutParams与ObjectAnimator两种方法

    现需要交换两个控件...1、使用LayoutParams改变两个layout的属性,即其相对关系(below等),实现位置的交换,但是并没有交换的动画效果,是“瞬间”交换。 2、使用animation交换控件位置,实现了我需要的动画效果。

    android.service.java

    View lay = LayoutInflater.from(this).inflate(R.layout.mylinearlayout, null);// 讲xml问价解析为视图对象 merchant = (TextView) lay.findViewById(R.id.merchant); number = (TextView) lay....

    瀑布流demo

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); addView(containerLayout, layoutParams);...

    Android View的六种移动方式

    自定义view的六种移动方式,通过使用offsetLeftAndRight(offsetX),setLayoutParams(layoutParams)等等,还可以控制view的滚动速度

    代码动态设置view或布局的宽高

    然而这时候你一定要注意强制类型转换时的LayoutParams类型,因为android中存在3种LayoutParams,即RelativeLayout.LayoutParams、LinearLayout.LayoutParams、ViewGroup.LayoutParams,那么我们改用哪一个呢?...

    Android代码-EnFloatingView

    对于传统悬浮窗和一些古老的“黑科技”悬浮窗的实现,想必已经有很多成熟的案例了,实现策略基本为以下两种: TYPE_SYSTEM_ALERT类型 mWindowManager = (WindowManager)context.getSystemService(Context.WINDOW_...

    仿QQ的头像选择弹出的对话框,酷似!

    dialog.setContentView(view, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); Window window = dialog.getWindow(); // 设置显示动画 window.setWindowAnimations(R.style....

    Android代码-安卓新手引导图引导蒙层

    提示部分支持图片和文字提示 先看效果图 使用步骤。 使用起来特别简单,只需要把GuideView这个类复制到你的项目中就可以了 *使用图片 ImageView iv = new ImageView(this); iv.setImageResource(R.drawable.img_...

    popwindow的使用

    1.当需要调节popwindow的位置时,new PopupWindow(contentView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, true)用固定的坐标给定,不然没有反应,就像这样new PopupWindow(contentView,300,300, true...

    IndicatorView轮播图的自定义点

    RelativeLayout.LayoutParams rl = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); rl.addRule(RelativeLayout.CENTER_HORIZONTAL); rl.addRule(RelativeLayout....

    Android中悬浮窗口的实现原理实例分析

    调用WindowManager,并设置WindowManager.LayoutParams的相关属性,通过WindowManager的addView方法创建View,这样产生出来的View根据WindowManager.LayoutParams属性不同,效果也就不同了。比如创建系统顶级窗口,...

    WindowManager.docx

    整理了Android中WindowManager.LayoutParams.type、WindowManager.LayoutParams.flags、WindowManager.LayoutParams.softInputMode等属性,含注解。

    仿Twitter点赞效果ShineButton.zip

     LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);  shineButtonJava.setLayoutParams(layoutParams); if (linearLayout != null) {  linearLayout.addView...

    Android 柱状图

    LinearLayout.LayoutParams pm = new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, 300); zxView = new ZXView(this, xlist, ylist, params); zxView.setLayoutParams(pm); layout.addView...

Global site tag (gtag.js) - Google Analytics