Android开发之AbsoluteLayout绝对布局 AbsoluteLayout绝对布局已经被弃用,但是相关API依然有效,其又被称为坐标布局,在iOS开发支持Autolayout AbsoluteLayout直接通过定位其内部视图的位置坐标点和尺寸来进行布局,后添加的视图优先级更高,如果坐标有重合,会覆盖先添加的视图,示例代码如下: @Override protected absoluteLayout = new AbsoluteLayout(this); absoluteLayout.setLayoutParams(new ViewGroup.LayoutParams (800,300,200,400)); textView3.setBackgroundColor(Color.BLUE); absoluteLayout.addView( 需要注意,在不同分辨率的屏幕上,使用AbsoluteLayout布局效果可能会难于把控。 专注技术,热爱生活,交流技术,也做朋友。 ——珲少 QQ群:435043639
前面几期基本学习了Android开发中常用的四种布局,之所以把AbsoluteLayout放在后面来学习,是由于在实际开发中很少使用,而且在高版本中已经注释待删除不建议使用,那么本期学习的目的就是简单了解有这样一种布局 一、认识AbsoluteLayout 绝对布局需要通过指定x、y坐标来控制每一个控件的位置,放入该布局的控件需要通过android:layout_x和android:layout_y 两个属性指定其准确的坐标值 需要注意的是当使用AbsoluteLayout作为布局容器时,布局容器不再管理子组件的位置和大小,都需要开发人员自己控制。使用绝对布局时,每个子组件都可指定如下两个XML属性。 二、示例 接下来通过一个简单的示例程序来学习AbsoluteLayout的使用用法。 > <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:
一 AbsoluteLayout基本介绍 AbsoluteLayout是Android中的布局容器之一。 在AbsoluteLayout中,每个子视图的位置和大小都是通过设置其android:layout_x和android:layout_y属性来确定的。 使用AbsoluteLayout的优点是可以精确地控制视图的位置和布局,适用于一些特定场景,比如创建自定义的视图布局或实现某些特殊效果。 注:已被弃用,且不建议使用 二 AbsoluteLayout使用方法 <?xml version="1.0" encoding="utf-8"? 四 总结 AbsoluteLayout已被弃用,并不推荐在Android应用程序开发中使用。
Grid StackLayout FalyxLayout AbsoluteLayout 2.详细内容 (1)Grid 语法: <Grid RowDefinitions="50,50,50,50" RowSpacing (4)AbsoluteLayout 语法: <AbsoluteLayout> <Button AbsoluteLayout.LayoutFlags="PositionProportional " AbsoluteLayout.LayoutBounds="50,50"/> </AbsoluteLayout> 解读: AbsoluteLayout和WPF中的Canvs非常类似。 (本文只演示了部分用法不代表全部) 属性名 作用 AbsoluteLayout.LayoutFlags 指定布局方式的枚举 AbsoluteLayout.LayoutBounds 指定控件位置的坐标(示例中
StackLayout VerticalOptions="Center" WidthRequest="290" HorizontalOptions="Center" Spacing="0"> <AbsoluteLayout VerticalOptions="Start"> <Image Source="upgrade_bgtop.png" WidthRequest="290" AbsoluteLayout.LayoutFlags ="PositionProportional" AbsoluteLayout.LayoutBounds="0,0"></Image> <Label x:Name="lb_version " Text="版本升级" AbsoluteLayout.LayoutFlags="XProportional" AbsoluteLayout.LayoutBounds="0.5,74" FontSize ></TapGestureRecognizer> </Image.GestureRecognizers> </Image> </AbsoluteLayout
该属性允许您指定子元素相对于其父 AbsoluteLayout 的位置和尺寸。 Color="Green" AbsoluteLayout.LayoutBounds="0,0.5,45,100" AbsoluteLayout.LayoutFlags AbsoluteLayout.LayoutBounds="0.5,1,100,45" AbsoluteLayout.LayoutFlags="PositionProportional " /> <Label Text="<em>AbsoluteLayout</em> 布局" AbsoluteLayout.LayoutBounds="0.5,0.5,150,35 " AbsoluteLayout.LayoutFlags="PositionProportional" /> </AbsoluteLayout>运行效果七、BindableLayout
嗯先上列子的xaml代码吧,如下: <AbsoluteLayout> <Label Text="这里是数值定位" AbsoluteLayout.LayoutBounds <BoxView Color="Olive" AbsoluteLayout.LayoutBounds="1,.5, 25, 100" AbsoluteLayout.LayoutFlags " AbsoluteLayout.LayoutBounds=".5,0,100,25" AbsoluteLayout.LayoutFlags="PositionProportional " /> </AbsoluteLayout> 效果如下: ? 讲解这2个属性之前,我们需要了解AbsoluteLayout中的2个概念,一个叫做比例值,一个叫绝对值.
标题图 在Android中提供了几个常用布局: LinearLayout线性布局 RelativeLayout相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayout 效果 AbsoluteLayout绝对布局 AbsoluteLayout绝对布局是通过x,y位置来为子控件设置位置的,即android:layout_x和android:layout_y属性。 结语 本文主要讲解 Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局
结构: <AbsoluteLayout> <BoxView Color="Olive" AbsoluteLayout.LayoutBounds="X, Y, Width, Height" AbsoluteLayout.LayoutFlags="FlagsValue" /> </AbsoluteLayout> Proportional AbsoluteLayout.LayoutFlags="All" /> Proportional 比例示例 2: <BoxView Color="Blue" AbsoluteLayout.LayoutBounds "Blue" AbsoluteLayout.LayoutBounds="0, 75, 250, 410" AbsoluteLayout.LayoutFlags 与AbsoluteLayout类似,在使用RelativeLayout时,我们可以将元素叠加在一起,但是它比AbsoluteLayout更加强大,因为你可以将相对于另一个元素的位置或大小的约束应用于一个元素
R.layout.main); mylistview = (ListView)findViewById(R.id.listview); list.add("LinearLayout"); list.add("AbsoluteLayout = new Intent("com.wps.android.LINEARLAYOUT"); startActivity(intent); } if(list.get(arg2).equals("AbsoluteLayout ")) { Intent intent = new Intent("com.wps.android.ABSOLUTELAYOUT"); startActivity(intent); } if(
本篇文章可以和前面的FrameLayout一同归类到Android非常用布局之中,虽然不常用,但是小伙伴们也要知道它的一些基础属性哦~ 六大布局之AbsoluteLayout 简介 AbsoluteLayout (绝对布局), 之所以把这个放到最后,是因为绝对布局,我们基本上都是不会使用的,当然你也可以直接跳过这一 篇博文,不过作为一个喜欢增长姿势的程序员,我们还是可以了解这个AbsoluteLayout布局的 理论上,AbsoluteLayout布局可用以完成任何的布局设计,灵活性很大,但是在实际的工程应用中不提倡使用这种布局。 布局属性 AbsoluteLayout 的布局属性就两个: android:layout_x : 设置控件在布局中的 X 轴方向距离。 AbsoluteLayout 只有这个两个属性,从绝对布局的名字就可以看出来,就是在 X 轴方向和 Y 轴方向通过 dip值(或者 px ) 绝对固定距离。 实例 在例子中显示三个View。 ?
布局有: FrameLayout(帧布局) LinearLayout(线性布局) TableLayout(表格布局) RelativeLayout(相对布局) AbsoluteLayout(绝对布局) AbsoluteLayout(绝对布局),这个布局一般情况下,我不推荐使用,这个布局由坐标固定住,而坐标的固定太没有灵活性。
ColumnSpacing" Value="6"/> <Setter Property="RowSpacing" Value="6"/> </Style> </ResourceDictionary> AbsoluteLayout > <cmp:AbsoluteLayout> ... </cmp:AbsoluteLayout> </ContentPage> 官方表示,他们将在接下来的几个 sprint 中重点关注这些新布局的改进。
对Android五大布局的描述,分别是 FrameLayout (框架布局),LinearLayout (线性布局),AbsoluteLayout (绝对布局),RelativeLayout (相对布局 // 水平方向充满容器 |fill_vertical //垂直方向充满容器 代码例子可以参考github链接:https://github.com/huangguangda/LinearLayout AbsoluteLayout android:layout_x=”##dp” 控制当前子类控件的x位置 android:layout_y=”##dp” 控制当前子类控件的y位置 代码练习在res/activity_main.xml中: <AbsoluteLayout android:layout_x="100dp" android:layout_y="100dp" android:text="Button" /> </AbsoluteLayout
对Android五大布局的描述,分别是 FrameLayout (框架布局),LinearLayout (线性布局),AbsoluteLayout (绝对布局),RelativeLayout (相对布局 水平方向充满容器 |fill_vertical //垂直方向充满容器 代码例子可以参考github链接: https://github.com/huangguangda/LinearLayout AbsoluteLayout android:layout_x=”##dp” 控制当前子类控件的x位置 android:layout_y=”##dp” 控制当前子类控件的y位置 代码练习在res/activity_main.xml中: <AbsoluteLayout android:layout_x="100dp" android:layout_y="100dp" android:text="Button" /> </AbsoluteLayout
> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width " android:layout_x="210px" android:layout_y="300px" android:text="暂停" /> </AbsoluteLayout
ViewGroup 视图组具有一系列的扩展者:AdapterView、AbsoluteLayout、FrameLayout、LinearLayout、RelativeLayout、AdapterView 在 Android 中,有一些预置的 ViewGroup 可以直接像 View 一样使用(如 WebView),还有一些ViewGroup 本身没有功能,只是提供屏幕上的各种布局(如 AbsoluteLayout
ViewGroup 视图组具有一系列的扩展者:AdapterView、AbsoluteLayout、FrameLayout、LinearLayout、 RelativeLayout、AdapterView FrameLayout(框架布局):系统默认的在屏幕上就有空白区显示它; LinearLayout(线性布局):让所有的子视图都成为单一的方向,即垂直的或者水平的; AbsoluteLayout FrameLayout、LinearLayout、RelativeLayout、AbsoluteLayout、TableLayout 都是扩展了ViewGroup 的类,因此 这些视图可以用于包含其他的控件 1.2.2 LinearLayout线性布局 线性布局 1.2.3 AbsoluteLayout绝对布局 执行效果 1.2.4 RelativeLayout相对布局
AbsoluteLayout:绝对布局。 这几种布局及其子元素共同支持的XML属性: android:layout_gravity:设置该子元素在父容器中的对齐方式。 AbsoluteLayout 运行Android应用的手机往往千差万别,因此屏幕大小、分辨率都有可能有很大差异,使用绝对布局很难兼顾不同屏幕大小、分辨率问题,因此AbsoluteLayout布局已经过时
1.两平台布局方式概览 Android常用的基本布局元素:LinearLayout,FrameLayout,AbsoluteLayout,RelativeLayout,TableLayout,GridLayout 3.FrameLayout&AbsoluteLayout VS Canvas 在官方文档布局介绍文档中已经不见FrameLayout和AbsoluteLayout这两位了,估计是在安卓如此丰富的设备分辨率下以及很少有场景能用到这两种布局方式了 Android-AbsoluteLayout:以AbsoluteLayout的左上角为基准起始位置([0,0]点),子元素利用二维坐标系android:layout_x和android:layout_y WinPhone-Canvas:布局行为上等同于FrameLayout和AbsoluteLayout的结合体,为子元素提供Canvas.Left,Canvas.Top和Canvas.ZIndex三个附加属性来控制子元素在当前 > 看看效果图吧(左WP,右上FrameLayout,右下AbsoluteLayout),也是一样一样的... ?