Android开发之AbsoluteLayout绝对布局

Android开发之AbsoluteLayout绝对布局

        AbsoluteLayout绝对布局已经被弃用,但是相关API依然有效,其又被称为坐标布局,在iOS开发支持Autolayout之前,所有的布局模式都可以理解为绝对布局。但是iPhone设备的屏幕尺寸有限,使用绝对不觉并不会出现太多难以解决的问题,但是对于Android设备就不同了,Android设备的屏幕尺寸和分辨率都无规范,使用坐标绝对布局的缺陷就十分明显。

        AbsoluteLayout直接通过定位其内部视图的位置坐标点和尺寸来进行布局,后添加的视图优先级更高,如果坐标有重合,会覆盖先添加的视图,示例代码如下:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AbsoluteLayout absoluteLayout = new AbsoluteLayout(this);
        absoluteLayout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        setContentView(absoluteLayout);
        //添加4个TextView
        TextView textView1 = new TextView(this);
        textView1.setText("第1个textView");
        //需要注意 这里的LayoutParams()构造方法中的参数 前两个参数为视图的宽和高 后两个为x与y位置坐标点
        textView1.setLayoutParams(new AbsoluteLayout.LayoutParams(800,300,10,10));
        textView1.setBackgroundColor(Color.RED);
        absoluteLayout.addView(textView1);

        TextView textView2 = new TextView(this);
        textView2.setText("第2个textView");
        textView2.setLayoutParams(new AbsoluteLayout.LayoutParams(800,300,100,200));
        textView2.setBackgroundColor(Color.YELLOW);
        absoluteLayout.addView(textView2);

        TextView textView3 = new TextView(this);
        textView3.setText("第3个textView");
        textView3.setLayoutParams(new AbsoluteLayout.LayoutParams(800,300,200,400));
        textView3.setBackgroundColor(Color.BLUE);
        absoluteLayout.addView(textView3);

        TextView textView4 = new TextView(this);
        textView4.setText("第4个textView");
        textView4.setLayoutParams(new AbsoluteLayout.LayoutParams(800,300,300,600));
        textView4.setBackgroundColor(Color.GREEN);
        absoluteLayout.addView(textView4);

    }

布局效果如下图:

        其实布局容器中子视图的布局参数主要有定义在各个布局容器类的内部类LayoutParams来设置。需要注意,在不同分辨率的屏幕上,使用AbsoluteLayout布局效果可能会难于把控。

专注技术,热爱生活,交流技术,也做朋友。 ——珲少 QQ群:435043639

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏项勇

笔记14 | 图片倒影+渐变效果

21250
来自专栏肖蕾的博客

打造一个无数据显示无数据提示信息的ListView

12930
来自专栏非著名程序员

Android学习第三弹之Android图片颜色处理

Android之图片颜色处理 非著名程序员 你想做到跟美图秀秀一样可以处理自己的照片,美化自己的照片吗?其实你也可以自己做一个这样的软件,废话不多说了,直接上图...

224100
来自专栏Android Note

Android-水平和垂直方向都可滑动的RecycleView

21220
来自专栏Android干货

安卓开发_浅谈Android动画(一)

30170
来自专栏非著名程序员

Android中如何实现图文混排

项目开发中需要实现这种效果,多余两行,两行最后是省略号,省略号后面是下拉更多,之前用过的是Html.fromHtml去处理图文混排的,仅仅是文字后图片或者文字颜...

28290
来自专栏Android干货

安卓开发_慕课网_百度地图_刮刮涂层效果

377140
来自专栏向治洪

SpannableString 给TextView添加不同的显示样式

TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助S...

24670
来自专栏Android Note

Android - ViewDragHelper实现京东、淘宝拖拽详情

18640
来自专栏向治洪

仿刮刮乐刮奖效果

该功能实现很简单,就是根据手指坐标位置在画板上画 1.效果图 ? ? 2.代码实现 public class ErinieShow extends Rel...

20650

扫码关注云+社区

领取腾讯云代金券