乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      【Unity】UGUI聊天消息氣泡 隨文本內(nèi)容自適應(yīng)

       勤奮不止 2019-03-07

      游戲中需要用做UGUI做聊天界面。其中聊天氣泡ChatItem的UI要求能隨著聊天內(nèi)容文本的長(zhǎng)度自適應(yīng)的。

      網(wǎng)上搜了一下聊天氣泡的UI,發(fā)現(xiàn)都不太符合咱的需求,具體來(lái)說(shuō)是文本寬度不足一行時(shí),文本寬度自增;文本寬度大于一行時(shí),文本高度自增。效果如下圖:

      實(shí)現(xiàn)方法:

      1、(UGUI)Scroll View/Viewport/Content是掛氣泡Item的節(jié)點(diǎn),給它添加Content Size Fitter和Vertical Layout Group組件,注意設(shè)置Vertical Fit為Preferred Size。

      2、氣泡Item預(yù)制體(或者Sample游戲物體)結(jié)構(gòu)如下,給它添加上Layout Element組件,并勾上Preferred Height。

      3、由于氣泡Item中的消息文本Text會(huì)動(dòng)態(tài)變寬變高,也要給它加上Content Size Fitter組件。剛開(kāi)始輸入文本時(shí),文本寬度不足一行,所以默認(rèn)是設(shè)置寬度優(yōu)先的。

      4、接下來(lái)的操作是重點(diǎn),也是其他博客沒(méi)有提及的點(diǎn)。上面文本Text對(duì)象的Content Size Fitter組件設(shè)置是當(dāng)消息內(nèi)容不足一行的寬度時(shí)的情況(也就是剛開(kāi)始輸入文本時(shí)的狀態(tài)),此時(shí)是水平Preferred Size,垂直Unconstrained。當(dāng)消息內(nèi)容大于一行寬度時(shí),需要在腳本中動(dòng)態(tài)修改為水平Unconstrained,垂直P(pán)referred Size?。。?/p>

      復(fù)制代碼
      float curTextWidth = textObj.GetComponent<Text>().preferredWidth;
      if (curTextWidth >= chatItemTextMaxWidth)
      {
          // Text控件的Content Size Fitter由水平Preferred Size改為垂直P(pán)referred Size
          textObj.GetComponent<ContentSizeFitter>().horizontalFit = ContentSizeFitter.FitMode.Unconstrained;
          textObj.GetComponent<ContentSizeFitter>().verticalFit = ContentSizeFitter.FitMode.PreferredSize;
      }
      復(fù)制代碼

      在Content物體同時(shí)掛Vertical Layout Group和Content Size Fitter組件后,就不需手動(dòng)計(jì)算子物體UI增加的高度了,Content下面的子物體高度會(huì)自動(dòng)計(jì)算并調(diào)整。

      注意,在Content Size Fitter組件的控制下,UI的寬高不能通過(guò)物體UI自身的RectTransform獲得,要用gameObject.GetComponent<Text>().preferredHeight;來(lái)獲??!

       


       

      重要參考:

       

       

        

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多