根據字符長度,控制在TextView顯示多少行

/**
 *  控制顯示內容  行數
 * @param tvDetail
 */
private void setShowLines(final TextView tvDetail) {
    ViewTreeObserver vto = tvDetail.getViewTreeObserver();
//調用 繪畫View之前的回調方法      因爲measure  在 draw 之前
    vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
            if(!hasMeasure){
                //獲取textView的行數
                txtLines = tvDetail.getLineCount();
                Log.i("tag"," txtLines===================="+ txtLines);
                hasMeasure=true;
                if(txtLines<=showLines){
                    //隱藏查看全部
                    tvShrink.setVisibility(View.GONE);
                }else{
                    //顯示查看全部
                    isShowAll=true;
                    tvShrink.setVisibility(View.VISIBLE);
                    tvDetail.setMaxLines(showLines);
                }
            }


            return true;
        }
    });
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章