렌더링 전에 각 항목의 높이를 ListView
에 측정하고 싶습니다. (48)을 반환 getMeasuredHeight()
예를 들어 내가 getHeight()
에 의해보고 된 것보다 다른 얻을목록보기 항목의 높이 측정
mListView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
mListView.measureItemsHeight();
}
}
);
값 :
나는 나의 활동의onCreate()
내부
ListView
public void measureItemsHeight() {
mItemCount = getAdapter().getCount();
if(mItemOffsetY == null){
mItemOffsetY = new int[mItemCount];
}
for(int i = 0; i < mItemCount; ++i){
View view = getAdapter().getView(i, null, this);
view.measure(0, 0);
mItemHeight[i] = view.getMeasuredHeight();
}
}
그런 다음 내 사용자 지정에이 방법을 추가 getHeight()
은 72를 반환합니다.
layo 내가 항목에 사용하는 것입니다 simple_list_item
그것은 나에게 hdpi 및 xhdpi 문제처럼 보입니다,이 문제를 해결할 수있는 방법이 있습니까? 내가 디버깅하는 데 사용하는 장치는 Samsung SGS2입니다. 아마도 그게 문제입니다.
'simple_list_item.xml'을 첨부 할 수 있습니까? 또한, 가능한 모든 어린이들의 신장을 측정하려는 이유를 설명하는 몇 가지 * 상황 *을 제시 할 수 있습니까? – Raffaele
글쎄, 내 아이템의 높이를 얻어서 ScrollY te를 만들 필요가 있었는데, 정상적으로 추적 할 수 없기 때문에 얼마나 많은 픽셀을리스트 뷰에서 스크롤했는지 알 수있다. –