recyclerView Adapter 안에서
holder.textView.onPredraw()로 뷰가 다 그려졌는지 확인 후 holder.textViewr.getLayout()이 null이 아닌 상태에서만 가능
holder.textView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
@Override
public boolean onPreDraw() {
int ellipseCount = holder.textView.getLayout().getEllipsisCount(holder.textView.getLayout().getLineCount()-1);
if (ellipseCount > 0) {
// Ellipsis 상태이면 0 이상이 나옴
}
holder.textView.getViewTreeObserver().removeOnPreDrawListener(this);
return true;
}
});
activity 안에서
public boolean isEllipsis(TextView textView) {
// Ellipsis 상태이면 0 이상이 나옴
if (textView.getLayout() != null) {
return textView.getLayout().getEllipsisCount(textView.getLineCount()-1) > 0;
}
return false;
}
holder.textView.getLayout() 또는 textView.getLayout() 가 null이면 안됨!!!!!
'android' 카테고리의 다른 글
웹 뷰 테스트 (0) | 2017.11.29 |
---|---|
CallBack만들기 (0) | 2017.11.29 |
appbarlayout 스크롤 Enable, disable (0) | 2017.11.22 |
recyclerview scroll 정보 가져오기 (0) | 2017.11.22 |
shape 백그라운드 컬러 다이나믹하게 적용하기 (0) | 2017.11.14 |