`
haking
  • 浏览: 264715 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

常见Layout的LayoutParams总结

 
阅读更多

LayoutParams

java.lang.Object

<-- android.view.ViewGroup.LayoutParams

 

android:layout_height        

Specifies the basic height of the view. 
android:layout_width         

Specifies the basic width of the view.

 


MarginLayoutParams

java.lang.Object

<-- android.view.ViewGroup.LayoutParams

<-- android.view.ViewGroup.MarginLayoutParams

 

android:layout_marginBottom        

Specifies extra space on the bottom side of this view.
android:layout_marginLeft             

Specifies extra space on the left side of this view.
android:layout_marginRight           

Specifies extra space on the right side of this view.
android:layout_marginTop              

Specifies extra space on the top side of this view.

 


FrameLayout

java.lang.Object

<-- android.view.ViewGroup.LayoutParams

<-- android.view.ViewGroup.MarginLayoutParams

<-- android.widget.FrameLayout.LayoutParams

 

android:layout_gravity            

Standard gravity constant that a child can supply to its parent

 

注意区别android:gravity, 这个属性是android.view.Gravity,

FrameLayout.LayoutParams, LinearLayout.LayoutParams和各种常见的View都有 android:gravity ;注意RelativeLayout.LayoutParams没有这个属性。

 

 

LinearLayout

java.lang.Object

<-- android.view.ViewGroup.LayoutParams

<-- android.view.ViewGroup.MarginLayoutParams

<-- android.widget.LinearLayout.LayoutParams

 

android:layout_gravity          

Standard gravity constant that a child can supply to its parent

android:layout_weight            

 

 

RelativeLayout

java.lang.Object

<-- android.view.ViewGroup.LayoutParams

<-- android.view.ViewGroup.MarginLayoutParams

<-- android.widget.RelativeLayout.LayoutParams

 

android:layout_above                            

Positions the bottom edge of this view above the given anchor view ID.
android:layout_alignBaseline                 

Positions the baseline of this view on the baseline of the given anchor view ID.
android:layout_alignBottom                   

Makes the bottom edge of this view match the bottom edge of the given anchor view ID.
android:layout_alignLeft                        

Makes the left edge of this view match the left edge of the given anchor view ID.
android:layout_alignParentBottom          

If true, makes the bottom edge of this view match the bottom edge of the parent.
android:layout_alignParentLeft               

If true, makes the left edge of this view match the left edge of the parent.
android:layout_alignParentRight             

If true, makes the right edge of this view match the right edge of the parent.
android:layout_alignParentTop               

If true, makes the top edge of this view match the top edge of the parent.
android:layout_alignRight                       

Makes the right edge of this view match the right edge of the given anchor view ID.
android:layout_alignTop                         

Makes the top edge of this view match the top edge of the given anchor view ID.
android:layout_alignWithParentIfMissing      

If set to true, the parent will be used as the anchor when the anchor cannot be be found for layout_toLeftOf, layout_toRightOf, etc.
android:layout_below                            

Positions the top edge of this view below the given anchor view ID.
android:layout_centerHorizontal           

If true, centers this child horizontally within its parent.
android:layout_centerInParent              

If true, centers this child horizontally and vertically within its parent.
android:layout_centerVertical               

If true, centers this child vertically within its parent.
android:layout_toLeftOf                         

Positions the right edge of this view to the left of the given anchor view ID.
android:layout_toRightOf                      

Positions the left edge of this view to the right of the given anchor view ID.

 

 

TableLayout

java.lang.Object

<-- android.view.ViewGroup.LayoutParams

<-- android.view.ViewGroup.MarginLayoutParams

<-- android.widget.LinearLayout.LayoutParams

<-- android.widget.TableLayout.LayoutParams

 

 

AbsoluteLayout

java.lang.Object

<-- android.view.ViewGroup.LayoutParams
<-- android.widget.AbsoluteLayout.LayoutParams

 

java.lang.Object 

<-- android.R.styleable

<-- public static final int[] AbsoluteLayout_Layout

 

android:layout_x
android:layout_y

 

Note: AbsoluteLayout is deprecated. Use other layouts instead.

 

 

 

总结

 

1. 界面的原点(0, 0)是除去status bar和title bar之后剩下的区域。 如果使用了全屏,不显示状态栏,不显示标题栏这样的主题后,区域的原点位置会相应改变。

 

2. FrameLayout的widget中使用类似android:layout_marginLeft="65px"这样的属性,一定要加上android:layout_gravity,否则margin无效。还要注意FrameLayout的android:layout_width和android:layout_height对layout_gravity的影响。

 

3. 使用布局属性一定要分清谁是parent,parent用的是什么layout,layout_width和layout_height的值。

 

4. 不同的布局属性也可以实现相同的功能。例如layout_gravity="center"和android:layout_centerInParent ="true"。

 

5. Eclipse的Android开发工具插件ADT里面有一个所见即所得的开发UI的功能。利用Graphical Layout可以预览的效果。但是,有时会遇到以下问题:

error!
UnsupportedOperationException: null

一般来说,这是因为所选择的Android版本不支持布局设置或者Android SDK不能很好的支持该layout的显示。可以尝试换其他Android版本或者看看该版本的SDK有没有更新。

 

 

 

分享到:
评论

相关推荐

    Android桌面悬浮框类似360实现

    在Android开发中,实现桌面悬浮窗(又称为悬浮按钮或悬浮布局)是一项常见的需求,尤其在工具类应用中,如360手机助手等。360桌面悬浮框的实现方式,可以为用户提供便捷的操作入口,增强应用的交互性。本篇文章将...

    FloatViewDemo

    总结来说,实现Android浮动窗体主要涉及`WindowManager`的使用、自定义布局的设计、`LayoutParams`的配置以及触摸事件的处理。理解并熟练掌握这些知识点,对于开发具有悬浮窗功能的Android应用至关重要。

    android 一个关于动态生成的例子

    在Android开发中,动态生成View是一项常见的需求,特别是在创建复杂布局或者需要根据数据动态调整界面结构时。这个例子,"android 一个关于动态生成的例子",着重讲解如何在代码中创建并添加View到LinearLayout中,...

    Android-StickyDemo三步实现控件悬浮

    总结: 通过以上三步,我们成功实现了Android中的`StickyDemo`,即在用户滚动列表时,悬浮控件能够固定在屏幕顶部。这种效果在实际应用中非常常见,能提升用户体验,特别是在内容丰富的界面中。了解并掌握这一技术...

    Android动态改变控件的位置

    这些属性主要包括`layout_width`、`layout_height`、`android:layout_margin`、`android:layout_gravity`等。在XML布局文件中,我们可以直接设置这些属性;而在代码中,我们需要使用`LayoutParams`来动态修改。 ...

    Android支付底部弹窗自定义dialog

    在Android应用开发中,自定义对话框(Dialog)是一种常见的用户交互方式,特别是在涉及到支付功能时,为了提供更好的用户体验,通常会使用底部弹窗来显示支付选项。本篇将详细介绍如何在Android中实现一个自定义的...

    android 悬浮窗

    它们常见于各种工具类应用,如屏幕录制软件、音乐播放器、即时通讯应用等。下面将详细介绍创建和管理Android悬浮窗的相关知识点。 ### 1. 许可权限 在AndroidManifest.xml文件中,添加悬浮窗所需的权限: ```xml `...

    安卓悬浮窗相关-一个悬浮框的demo.rar

    总结来说,安卓悬浮窗的实现涉及权限请求、`WindowManager`服务、`LayoutParams`设置以及自定义View的设计。通过分析和学习提供的“安卓悬浮窗相关-一个悬浮框的demo.rar”,你可以掌握创建、管理和优化悬浮窗的各项...

    自定义Dialog样式+大小+位置

    总结,自定义Dialog样式、大小和位置是提升应用用户体验的重要手段。通过创建自定义布局、设置Dialog类以及调整窗口属性,我们可以构建出符合设计需求的个性化Dialog。在实际开发中,要灵活运用这些技巧,确保Dialog...

    android全局悬浮窗口可拖动

    这类功能常见于通知、快捷操作、辅助工具等应用场景。本篇文章将深入探讨如何实现一个可拖动的Android全局悬浮窗口。 首先,要创建全局悬浮窗口,我们需要使用到`WindowManager`服务。`WindowManager`是Android系统...

    带三角的dialog弹出框

    在Android开发中,创建自定义对话框(Dialog)是一种常见的需求,可以提供用户与应用交互的特殊界面。本文将详细探讨如何实现一个带有三角形指示箭头的对话框,即"带三角的dialog弹出框",并分享相关代码实现。 ...

    Android开发中Launcher3常见默认配置修改方法总结

    Android开发中Launcher3常见默认配置修改方法总结 Android开发中,Launcher3是Android系统中一个重要的组件,它作为第一个启动的应用程序,负责展示应用列表和快捷方式、小部件等。 Launcher3的默认配置可以进行...

    自定义Dialog弹窗

    在Android开发中,Dialog是一种非常常见的用户交互组件,它用于显示一些临时信息或者与用户进行简单的交互。然而,系统默认的Dialog样式可能无法满足所有设计需求,这时我们就需要自定义Dialog来实现更个性化的界面...

    [Android][控制Dialog大小,位置,透明度]

    总结来说,控制Android Dialog的大小、位置和透明度主要涉及到自定义布局、`WindowManager.LayoutParams`的使用以及对Dialog窗口属性的调整。通过灵活运用这些技巧,你可以创建出更加符合应用需求的Dialog,提升用户...

    android 用户界面UI详解

    在XML布局中,每个元素(View)都有相应的属性,如`android:layout_width`和`android:layout_height`,用来设置元素的尺寸,以及`android:text`等属性来设置内容。 在Android中,View是基本的用户界面元素,它包含...

    拖拽控件imagebutton

    这种功能通常在一些需要用户自定义布局或者游戏场景中比较常见。下面将详细介绍如何在Android中实现一个可拖动的ImageButton。 首先,我们需要在布局XML文件中定义一个ImageButton。基本的定义方式如下: ```xml ...

    安卓Android源码——android桌面悬浮窗效果进阶 仿360手机卫士、淘宝手机助手.rar

    在安卓开发中,桌面悬浮窗(Float Window)是一种常见的功能,它可以实现类似360手机卫士或淘宝手机助手那样的实时显示信息或者辅助操作的效果。本教程将通过一个名为"FloatWindowDemo"的项目,深入讲解如何在...

    Android应用源码之悬浮窗 监视内容.zip

    总结,"Android应用源码之悬浮窗 监视内容.zip"提供了实现Android悬浮窗功能的源代码,可以用来学习和理解悬浮窗的实现方式以及其在监视内容方面的应用。但在实际开发中,应确保遵循合法、合规的原则,尊重用户隐私...

Global site tag (gtag.js) - Google Analytics