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

+ Recent posts