前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android开发之AbsoluteLayout绝对布局

Android开发之AbsoluteLayout绝对布局

作者头像
珲少
发布2018-08-15 15:58:05
4330
发布2018-08-15 15:58:05
举报
文章被收录于专栏:一“技”之长一“技”之长

Android开发之AbsoluteLayout绝对布局

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

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

代码语言:javascript
复制
    @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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/09/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android开发之AbsoluteLayout绝对布局
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档