2012-04-01 1 views
0

내부에 LinearLayout이있는 HorzontalScrollView가 있습니다. 런타임 중에 LinearLayout에 더 많은 LinearLayouts를 추가 할 수 있습니다.안드로이드 HorizontalScrolling laggy

이제 Scrollview는 스크롤을 약간만 스크롤하고 손가락 하나만 부드럽게 움직이는 문제가 있습니다!

누구에게이 문제의 해결책이 있습니까?

답변

1

HorizontalScrollView는 목록의 메모리를 관리하는 어댑터를 사용하지 않으므로 무거운 (이미지, 사용자 지정보기 등) 목록을 처리 할 수 ​​없습니다.

이 Horizontal ListView http://www.dev-smart.com/archives/34을 사용할 수 있지만 getView 내부에서 목록 항목 클릭 메소드를 쓰지 않도록하십시오. 그러면 목록 스크롤이 느려집니다. 그 외에도 부드러운 가로 목록보기를위한 훌륭한 자료입니다.

또한 또한 호환 기능 팩 사용하여 낮은 안드로이드 버전에서 지원됩니다 안드로이드보기 호출기, 탐색 할 수 있습니다 : http://developer.android.com/sdk/compatibility-library.html

편집 -는 XML이합니다 (있는 LinearLayout) 원하는을 팽창 어댑터에서 그런 일을하고 그런 다음 모든 뷰를 관련 데이터로 채 웁니다.

@Override 
      public View getView(final int position, View convertView, ViewGroup parent) { 

       if (convertView == null) { 
        convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.chat_friends_list_item, null); 
       } 

       ImageView status = (ImageView)convertView.findViewById(R.id.status); 
       ImageView image = (ImageView)convertView.findViewById(R.id.image); 
       ImageView imageBorder = (ImageView)convertView.findViewById(R.id.image_border); 
       TextView title = (TextView)convertView.findViewById(R.id.title); 
} 
+0

목록 뷰 안에 요소가 없으면 전체 너비가 다른 다른 선형 레이아웃 요소가 목록 뷰에 추가됩니다. –

+0

목록보기 어댑터의 getview에서 @ matchi1992는 선형 레이아웃 요소 XML을 채 웁니다. 업데이트 된 답변보기 –

0

스 와이프 이벤트를 도난 당했기 때문에 부모님의 Viewflow에 문제가있었습니다! HorizontalListView가 너무 버그가 있습니다! (크기 속성 문제)

그러나 답변 해 주셔서 감사합니다! ;)