마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

그리드 뷰를 이용하여 앨범 구현할때 질문 입니다.

0 추천

그리드뷰를 이용하여 앨범을 구현 하고 있습니다.

구현은 완료 하였습니다만 부드럽지 않아서 질문 드립니다.

카카오톡의 갤러리를 보면 한장씩 이미지를 보여주게 하여 스크롤이 깔끔하게 되고 있는데요

제가 만든것을 실행하면 스크롤을 하고 해당 위치에 있는 이미지들을 한꺼번에 보여 주고 있습니다.

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

			if (convertView == null) {
				convertView = mLiInflater.inflate(mCellLayout, parent, false);
				ImageViewHolder holder = new ImageViewHolder();

				holder.ivImage = (ImageView) convertView.findViewById(R.id.ivImage);

				convertView.setTag(holder);
			}

			final ImageViewHolder holder = (ImageViewHolder) convertView
					.getTag();
			runOnUiThread(new Runnable() {
				public void run() {
					if (!mScoll) {
						try {
							String path = ((ThumbImageInfo) mThumbImageInfoList
									.get(position)).getData();
							Bitmap bmp = (Bitmap) mCache.get(path);

							if (bmp != null) {
								holder.ivImage.setImageBitmap(bmp);
							} else {
								BitmapFactory.Options option = new BitmapFactory.Options();

								if (new File(path).length() > 100000)
									option.inSampleSize = 10;
								else
									option.inSampleSize = 2;

								bmp = BitmapFactory.decodeFile(path, option);
								holder.ivImage.setImageBitmap(bmp);

								mCache.put(path, bmp); // 캐쉬에 넣어준다.
							}

							holder.ivImage.setVisibility(VISIBLE);
							
							setProgressBarIndeterminateVisibility(false);
						} catch (Exception e) {
							e.printStackTrace();
							setProgressBarIndeterminateVisibility(false);
						}
					} else {
						setProgressBarIndeterminateVisibility(true);
						holder.ivImage.setVisibility(INVISIBLE);
					}
				}
			});
			

			return convertView;
		}

이미지를 보여 주는 부분의 소스 입니다.

이부분만 처리를 하면 한장씩 로드를 할줄 알았는데 그래도 한 페이지의 이미지를 한번에 로드를 하더라구요.

 

한장씩 로드를 하고 띄워 주고 이렇게 가려면 어떻게 바꿔 줘야 할까요

조언 부탁 드립니다.

카이래이언 (2,700 포인트) 님이 2014년 5월 20일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...