TabLayout의 실제 너비, TabLayout의 Tab 너비 가져오기

예를 들어 당신의TabLayout에 항목이 너무 많아서 일부분은 숨겨질 수 있습니다. 당신의 제품은 당신의 항목이 너무 많아서 보이지 않는 상황에서 작은 화살표나 다른 알림 메시지가 사용자에게 오른쪽에 물건이 있음을 알려주기를 원합니다. 이럴 때TabLayout의 폭과 화면 폭을 비교해야 합니다.항목이 화면을 넘어섰는지 아닌지 판단할 수 있습니다.어떻게 TabLayout의 실제 넓이를 얻습니까, 즉 어떻게 TabLayout의 가시 넓이와 화면의 넓이를 초과합니까?
ViewGroup vg= (ViewGroup) tabLayout.getChildAt(0);
tabLayoutWidth=0;
int size=vg.getChildCount();
View temp;
for (int i=0;i<size;i++){
    temp=vg.getChildAt(i);
    if (temp!=null){
        tabLayoutWidth+=temp.getWidth();
    }
}

위 코드는 사용할 수 있지만, 가져올 때 얻을 수 있는tabLayoutWidth=0;이것은 TabLayout이 아직 그림을 그리지 않았기 때문에,layout이 없기 때문에, 당신이 얻은 것은 0입니다.TabLayout의addOnLayoutChangeListener에서 이런 계산 조작을 할 수 있지만 코드는 최적화가 필요합니다. 레이아웃layout의 횟수가 좀 많기 때문입니다. 하지만 한 번의 성공적인 계산만 하면 됩니다.구체적으로 어떻게 최적화하느냐는 너 자신에게 달려 있다.

좋은 웹페이지 즐겨찾기