Flutter Text、ListView、ScrollView高度自適應(yīng)

Text高度自適應(yīng)核心邏輯

Row+Expanded包裹Text文本

ListView、ScrollView這一類的Item高度自適應(yīng)方式

  Widget _itemView(item) {
    return Container(
      margin: EdgeInsets.only(
        top: setHeight(12),
        bottom: setHeight(20),
        left: setWidth(32),
        right: setWidth(32),
      ),
      child: Ink(
        decoration: BoxDecoration(
          color: XColors.greyF8,
          borderRadius: BorderRadius.circular(setWidth(10)),
        ),
        child: InkWell(
          borderRadius: BorderRadius.circular(setWidth(10)),
          onTap: () {},
          child: Container(
            padding: EdgeInsets.symmetric(
              vertical: setWidth(20),
              horizontal: setWidth(24),
            ),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Container(
                  //使用Row+Expanded包裹Text文本就會自適應(yīng)高度
                  child: Row(
                    children: [
                      Expanded(
                        child: Text(
                          "測試測試測試測試測試測試測試測試測試測試測試測"
                          "測試測試測試測試測試測試測試測試測試測試測試測"
                          "試測試測試測試測試測試測試測試測試測試測試測試",
                          style: TextStyle(
                            color: XColors.textColor33,
                            fontSize: setSp(28),
                          ),
                        ),
                      ),
                    ],
                  ),
                ),
                Gaps.getHeight20(),
                Container(
                  //使用Row+Expanded包裹Text文本就會自適應(yīng)高度
                  child: Row(
                    children: [
                      Expanded(
                        child: Text(
                          "測試測試測試測試測試測試測試測試測試測試測試測"
                          "測試測試測試測試測試測試測試測試測試測試測試測"
                          "試測試測試測試測試測試測試測試測試測試測試測試",
                          style: TextStyles.getColor99Size24(),
                        ),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }

Text自適應(yīng)高度

  Widget _text() {
    return SizedBox(
      //width很重要,不設(shè)置寬度的話內(nèi)容會不顯示,Row要知道父Widget寬度
      width: ScreenUtil().screenWidth,
      //使用Row+Expanded包裹Text文本就會自適應(yīng)高度
      child: Row(
        children: [
          Expanded(
            child: Text(
              "測試測試測試測試測試測試測試測試測試測試測試測"
              "測試測試測試測試測試測試測試測試測試測試測試測"
              "試測試測試測試測試測試測試測試測試測試測試測試",
              style: TextStyle(
                fontSize: setSp(28.0),
                color: Colors.white,
              ),
            ),
          ),
        ],
      ),
    );
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容