<var id="mprk0"><track id="mprk0"></track></var>

  • <blockquote id="mprk0"></blockquote>
    <blockquote id="mprk0"></blockquote><video id="mprk0"><thead id="mprk0"></thead></video>
      <blockquote id="mprk0"><wbr id="mprk0"></wbr></blockquote>

    1. <i id="mprk0"></i>

      自動換行linearlayout

      發布時間:2023-10-23
      本文主要介紹自動換行linearlayout,下面一起看看自動換行linearlayout相關資訊。
      轉:(22條消息)radiogroup的博客帶自動換行點擊事件_再見美猴王_ -csdn博客。
      公共類myradiogroup擴展了radio group { private static final string tag = radiogroupex public my radio group(context context){ super(context);} public my radio group(context context,attributeset attrs){ super(context,attrs);} @ override protected void on measure(int widthmeasurespec,int heightsmeasurespec){ int width size = measurespec . getsize(widthmeasurespec);int width mode = measure spec . get mode(widthmeasurespec);int heightsize = measure spec . getsize(heightsmeasurespec);int height mode = measure spec . get mode(heightmaurespec);//調用viewgroup的方法來度量視圖measure children(width measure spec,heightmeasurespec);//最大寬度int maxwidth = 0;//累計高度int total height = 0;//當前行的累計線寬int line width = 0;//當前行的最大行高int maxline height = 0;//用于記錄換行前的線寬和行高int oldheightint舊寬度;int count = get child count;//假設widthmode和heightmode都是_ most for(int i = 0;我數;i){ view child = get child at(i);邊緣layout params params =(marginlayoutparams)child . getlayout params;//獲取該行的最高oldheight = maxlineheight//當前最大寬度oldwidth = maxwidthint deltax = child . getmeasuredwidthparams . left margin params . right margin;if(line width deltax getpadding lightgetpadding lightwidth size){//如果換行,高度增加//與當前最大寬度相比,獲得最寬寬度。你可以 t加上當前子的寬度,所以你用寬度maxwidth = math.max (line width,width);//reset width line width = deltax;//累積高度totalheight = oldheight//重置行高。當前視圖屬于下一行,因此當前最大行高是該子級的高度加上marginmax line height = child。getmeasureheight參數。上邊距參數。底部邊距;log.v(標簽, maxheightcho 0-@ . com 總高度 - maxwidth: maxwidth);} else {//不換行,累計寬度linewidth = deltax//不換行,計算最高int deltay = child . getmeasureheightparams . top margin params . bottom margin;maxline height = math . max(maxline height,deltay);} if (i == count-1) {//在它之前不添加下一行。如果是最后一行,必須疊加最后一行的最高值:totalheight = maxlineheight//將計算的最后一行與其前面最寬的一行進行比較maxwidth = math.max(線寬,舊寬度);} }//加上當前容器的填充值maxwidth = getpadding lightgetpadding light;total height = getpadding topgetpadding bottom;setmeasureddimension(width mode = = measure spec。確實如此。寬度尺寸:最大寬度,高度模式==測量規格。確實如此。h:總高度);} @ override protected void onlayout(boolean changed,int l,int t,int r,int b){ int count = get child count;//pre是所有前一個子元素的添加位置。int pre left = getpadding left;int pretop = getpadding top;//記錄每行的最高值int max height = 0;for(int i = 0;我數;i){ view child = get child at(i);marginlayoutparams params =(marginlayoutparams)child . getlayoutparams;//r-l是當前容器的寬度。如果子視圖的累積寬度大于容器寬度,則換行。if(前置左參數。左邊距子對象。getmeasurewidth參數。右邊距getpadding light(r-l)){//reset pre left = getpadding left;//選擇身高最大的孩子作為設置pretop = pretop maxheightmaxheight = getchildat(i)。getmeasuredheightparams . top margin params . bottom margin;} else {//不換行,計算最大高度max height = math.max (max height,child。getmeasureheight參數。上邊距參數。下邊距);}//左坐標intleft = prelefparams。左邊距;//top coordinate int top = pretop params . top margin;int right = left child . getmeasuredwidth;int bottom = top child . getmeasuredheight;//子視圖的layout child.layout (left,top,right,bottom);//計算布局后,preleft = params的值。leftmarginchild。getmeasurewidth參數。右邊距;}}}標簽:
      寬度包裝
      了解更多自動換行linearlayout相關內容請關注本站點。
      上一個:vivoxplus4g信號怎么樣,ViVo手機信號好嗎
      下一個:吊絲球竹的種植技術

      vue-admin-template權限管理(vuetemplate admin)
      筆記本硬盤線斷了,筆記本硬盤線斷了怎么解決
      食用仙人掌大田栽培技術
      選擇適合窗臺盆栽的花卉
      外星人筆記本重裝win10后會死機(外星人筆記本重裝win10怎么連接WiFi)
      其它茶是喝,普洱茶要品
      電腦上怎么安裝微信app(怎么在電腦上安裝apk)
      茶--心靈的通道
      網站建設需求文檔包含什么內容?怎樣搭建一個網站?
      茶與水的緣份 許是因一萬年前的傾心相視
      亚洲国产精品久久久久久动画_av中文字幕1区_超清无码一区二区三区_日韩高清无码一二三区_久久综合九色综合97_久久久_久久久久久久久久国产