资讯专栏INFORMATION COLUMN

【android】自定义布局控制控件的位置可以通过继承FrameLayout实现

chanjarster / 2395人阅读

摘要:有时候要根据自己的需要定制自己的组件的位置,可以直接继承来实现,但是这种方法相对比较麻烦,要自己造比较多的轮子。可以通过继承来实现。在的子类中控制控件,可以通过子控件的来设置位置

有时候要根据自己的需要定制自己的组件的位置,可以直接继承ViewGroup来实现,但是这种方法相对比较麻烦,要自己造比较多的轮子。可以通过继承FrameLayout来实现。

在FrameLayout的子类中控制控件,可以通过子控件的margin来设置位置:

            HashMap.Entry entry = (HashMap.Entry) iter.next();
            TRItemNode item = (TRItemNode) entry.getValue();

            int id = item.getId();
            TextView textView = mTextViewMap.get(id);

            int width = textView.getMeasuredWidth();
            int height = textView.getMeasuredHeight();


            FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(width, height);
            params.gravity = Gravity.LEFT;
            params.leftMargin = item.left + width / 2;
            params.topMargin = item.top + height / 2;
            textView.setLayoutParams(params);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73094.html

相关文章

  • Andriod 四大布局 使用详解

    摘要:中常用的四大布局。已经弃用,此问略过。线性布局,常用布局之一,主要有水平布局垂直布局两种。继承关系继承,关系如下简单例子如下上述布局实现代码如下微信公众号程序员至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。 showImg(https://segmentfault.com/img/remote/1460000019975019?w=157&h=54); 极力推荐文章:欢迎收藏A...

    Batkid 评论0 收藏0
  • 03.Android之View原理问题

    摘要:这种自定义控件在原生控件提供的方法外,可以自己添加一些方法。从顶层父到子递归调用方法,方法又回调。 目录介绍 3.0.0.1 View的绘制需要经过哪些过程?有哪些常用回调方法?View的绘制流程的详细流程是怎样的? 3.0.0.2 View绘制流程,当一个TextView的实例调用setText()方法后执行了什么?请说一下原理…… 3.0.0.3 requestLayout()、...

    FrozenMap 评论0 收藏0

发表评论

0条评论

chanjarster

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<