摘要:有時(shí)候要根據(jù)自己的需要定制自己的組件的位置,可以直接繼承來實(shí)現(xiàn),但是這種方法相對(duì)比較麻煩,要自己造比較多的輪子。可以通過繼承來實(shí)現(xiàn)。在的子類中控制控件,可以通過子控件的來設(shè)置位置
有時(shí)候要根據(jù)自己的需要定制自己的組件的位置,可以直接繼承ViewGroup來實(shí)現(xiàn),但是這種方法相對(duì)比較麻煩,要自己造比較多的輪子??梢酝ㄟ^繼承FrameLayout來實(shí)現(xiàn)。
在FrameLayout的子類中控制控件,可以通過子控件的margin來設(shè)置位置:
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);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/73094.html
摘要:中常用的四大布局。已經(jīng)棄用,此問略過。線性布局,常用布局之一,主要有水平布局垂直布局兩種。繼承關(guān)系繼承,關(guān)系如下簡單例子如下上述布局實(shí)現(xiàn)代碼如下微信公眾號(hào)程序員至此,本篇已結(jié)束,如有不對(duì)的地方,歡迎您的建議與指正。 showImg(https://segmentfault.com/img/remote/1460000019975019?w=157&h=54); 極力推薦文章:歡迎收藏A...
摘要:這種自定義控件在原生控件提供的方法外,可以自己添加一些方法。從頂層父到子遞歸調(diào)用方法,方法又回調(diào)。 目錄介紹 3.0.0.1 View的繪制需要經(jīng)過哪些過程?有哪些常用回調(diào)方法?View的繪制流程的詳細(xì)流程是怎樣的? 3.0.0.2 View繪制流程,當(dāng)一個(gè)TextView的實(shí)例調(diào)用setText()方法后執(zhí)行了什么?請(qǐng)說一下原理…… 3.0.0.3 requestLayout()、...
閱讀 1848·2021-09-22 15:25
閱讀 1361·2019-08-29 12:34
閱讀 1992·2019-08-26 13:57
閱讀 3264·2019-08-26 10:48
閱讀 1497·2019-08-26 10:45
閱讀 860·2019-08-23 18:23
閱讀 794·2019-08-23 18:01
閱讀 2008·2019-08-23 16:07