`
wang_2011_ying
  • 浏览: 150810 次
  • 性别: 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布局
分享到:
评论

相关推荐

    Android中使用LayoutInflater要注意的一些坑

    总之,理解和正确使用LayoutInflater.inflate()的参数是避免Android开发中出现布局问题的关键。在使用时,确保提供适当的父容器,合理设置`attachToRoot`,并且始终关注视图的测量和布局过程。通过这些注意事项,...

    Android在布局中动态添加view的两种方法共5页.pdf.zip

    在Android开发中,动态添加View是一项常见的需求,特别是在创建自定义布局、复杂用户界面或响应式设计时。本文将深入探讨两种主要的在布局中...理解并熟练掌握这两种方法,可以极大地提升Android应用的开发效率和质量。

    WindowManager弹窗

    4. **设置LayoutParams**:创建并配置LayoutParams对象,指定视图的位置、大小和类型。在WindowManager中,常见的LayoutParams类型有`WindowManager.LayoutParams.TYPE_SYSTEM_ALERT`或`TYPE_PHONE`,这些类型使得...

    adTest1_brotherddr_浮动窗口_android_

    在Android平台上,浮动窗口(Floating Window)通常被称为悬浮窗或者系统层小部件,它..."adTest1"项目很可能是为了实践这些步骤,通过`brotherddr`开发的示例代码或教程,帮助开发者更好地理解和掌握浮动窗口的实现。

    360悬浮窗实现

    本教程将深入探讨如何在Android平台上实现360悬浮窗功能,以帮助开发者更好地理解和运用这一技术。 首先,悬浮窗在Android中的实现基于` WindowManager `服务,它是Android系统提供的一个接口,用于管理窗口的布局...

    view android 切换动态增加

    总之,Android中的动态增加View是一项基本技能,通过理解View和ViewGroup的机制,以及熟练运用LayoutInflater和事件监听,开发者可以创建出更加灵活和用户友好的界面。同时,要注意性能优化,确保应用的流畅性。

    实现动态加载布局和动态加载控件的两个demo例子

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); button.setLayoutParams(params); parent.addView(button); ``` ...

    Android LayoutInflater.inflate()详解及分析

    在Android开发中,`LayoutInflater` 是一个至关...理解`inflate()` 的参数以及它们如何影响视图的创建和布局是每个Android开发者必备的知识。正确使用`inflate()` 可以避免不必要的复杂性,提高代码的清晰度和性能。

    windowmanager对话框

    在创建自定义对话框时,通常会使用LayoutInflater来加载XML布局,然后通过WindowManager的LayoutParams对象来设置对话框的位置和属性,最后将其添加到窗口管理器中。 要创建一个WindowManager对话框,你需要遵循...

    Android 绘制方式实现浮动视图

    在Android开发中,浮动视图(Floating View)通常指的是悬浮窗口或者浮动小部件,它们可以在应用...在实际开发中,理解Android的窗口管理机制和事件处理流程至关重要,这将帮助你更好地控制和优化浮动视图的用户体验。

    Android浮动窗口

    LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); floatView = inflater.inflate(R.layout.float_window_layout, null); // 设置LayoutParams WindowManager....

    android layoutinflator

    `LayoutInflater` 的核心功能是将XML布局文件解析成Android系统可以理解和渲染的视图层次结构。通过这个过程,我们可以将设计的UI布局与运行时的代码分离,使得代码更易于维护和扩展。此外,`LayoutInflater` 还支持...

    安卓Andriod源码——悬浮窗.zip

    总的来说,学习这个压缩包中的源代码可以帮助你更好地理解和实现Android悬浮窗功能,同时也可以提升你在Android开发中的技能和经验。如果你想要在自己的应用中实现类似的功能,这将是一个很好的参考。

    Android 悬浮view

    在Android开发中,"Android 悬浮view"是一种高级特性,允许开发者创建可以在用户界面顶层显示的窗口,通常称为悬浮小部件或者浮动视图。...理解这些知识点对于创建高度定制化的用户界面和提升用户体验至关重要。

    Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果 源码程序

    通过阅读和理解代码,你可以更好地掌握悬浮窗的实现细节,比如如何处理不同Android版本的兼容性问题,以及如何优雅地处理悬浮窗的显示和隐藏。在Android Studio中运行并调试该代码,将有助于加深对这一功能的理解。

    安卓悬浮窗相关-实现控件能够在屏幕上随意拖动能够随意移动控件的位置.rar

    学习和理解这些代码示例可以帮助你更好地掌握安卓悬浮窗的实现原理,从而创建出更丰富、更个性化的悬浮窗应用。如果你打算开发一个需要在屏幕各处显示内容的应用,这将是一个非常有用的技能。不过,一定要尊重用户...

    安卓Android源码——android 悬浮窗.zip

    本资料“安卓Android源码——android 悬浮窗.zip”可能包含实现悬浮窗功能的源代码示例,帮助开发者深入理解如何在Android应用中创建和管理悬浮窗。 悬浮窗的实现主要依赖于两个关键组件:SYSTEM_ALERT_WINDOW权限...

    android桌面悬浮窗效果 仿360手机卫士、淘宝手机助手

    悬浮窗通常由一个`View`(例如`LinearLayout`或`FrameLayout`)构成,该`View`通过`LayoutParams`设置为浮动和透明。以下是一个简单的悬浮窗创建示例: ```java public class FloatWindowService extends Service {...

    悬浮窗体 android

    在Android开发中,"悬浮窗体"通常被称为"悬浮小部件"或"系统窗口",它们可以在应用程序的顶部或者屏幕的任何位置独立显示。...对于更复杂的需求,如动态移动、吸附等,还需要深入理解触摸事件处理和动画系统。

Global site tag (gtag.js) - Google Analytics