2014-05-21 3 views
0

아래 구현 된 코드는 왼쪽에서 오른쪽으로 스크롤되는 그림 갤러리를 표시하는 데 사용됩니다. 그러나 이미지 축소판의 크기를 늘리기 때문에 스크롤하는 동안 스크롤하는 동안 약간의 결함이 있습니다. 어떻게하면 최적화가 필요한지 스크롤 할 수 있습니다.부드러운 스크롤을위한 갤러리 최적화

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView i = new ImageView(activity); 
    Bitmap bmp = BitmapFactory.decodeFile(filepath[position]); 
    i.setLayoutParams(new Gallery.LayoutParams(400,400)); 
    i.setScaleType(ImageView.ScaleType.FIT_XY); 
    i.setImageBitmap(bmp); 
    return i; 
} 
+0

asynctask에서 이미지를 디코딩하여 지연로드를 사용해야합니다. –

답변

0

imageview를로드하고 비트 맵을 설정하려면 별도의 스레드를 작성해야합니다. 이미지로드 및 설정은 많은 작업입니다.

+0

가능한 경우 코드 샘플을 제공하십시오. – Mayur

+0

@Mayur Async 클래스를 만듭니다. 이 비동기 클래스의 경우 이미지보기를 제공하십시오. 그런 다음 asyc 클래스의 onBackground 메서드는 갤러리에서 이미지를로드합니다. 그런 다음 onPostExecute 메소드는 이미지 뷰에로드 된 이미지를 설정합니다. –

0

BitmapFactory.decodeFile(filepath[position])은 주 스레드에 있으면 안됩니다.

다른 스레드에서이 작업을 수행하십시오. 디코딩 작업을 대기열에 넣고 즉시 디코딩 된 이미지로 뷰를 새로 고칩니다.

또는 이것을 수행하는 picasso과 같은 라이브러리를 사용하십시오.

+0

피카소 라이브러리 사용 방법에 대한 샘플을 제공 할 수 있습니까? – Mayur