根據字符長度,控制在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;
}
});
}
* 控制顯示內容 行數
* @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;
}
});
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.