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

카카오 스토리나 페이스북에서 사용하는 이미지 분할 방법 질문

0 추천
그 카카오스토리나 페이스북에서 보면

 

이미지의 갯수마다 이미지 분할 레이아웃이 다르잖아요 ?

 

이건 어떻게 구현하는지 좀 알고싶습니다.

 

현재는 listview 를 사용하여 게시글마다 첫번째 이미지만 보여주고 있는데요

이미지 갯수마다 레이아웃을 다르게 해서 뿌려주고 싶은데

뭘 검색해야 할 지를 잘 모르겠습니다.

viewholder 사용중이라 레이아웃이 다르면 재활용 안될 것 같기도 하고... 잘 모르겠습니다

답변 부탁드립니다.
status (1,410 포인트) 님이 2016년 10월 19일 질문

1개의 답변

0 추천
 
채택된 답변
뷰의 weight 와 visibility속성을 사용하여 구현 하시면 될듭니다.
ThisPlus (46,920 포인트) 님이 2016년 10월 19일 답변
status님이 2016년 10월 21일 채택됨
이미지 갯수에 따라 레이아웃도 달라져야하고..1~5개, 현재는 picasso에 viewholder.image 를 불러와 한개씩만 뿌려주고있는데 이곳에 어댑터를 추가하는것도 좋은 방법이 아니라 하고.. 감이 안잡힙니다.
각각의 레이아웃을 보아야 정확한 답변이 되겠지만 분명 각 이미지뷰마다 행과 열로 나누어져 규칙성을 보이고 있을 겁니다.
즉 필요 없는 이미지뷰는 GONE하여 다른 이미지 뷰가 화면을 꽉 채우도록 제작 하시다면 원하시는 기능을 적용하실수 있을 겁니다.
getview 입니다.

 if(v == null){


            v = inflater.inflate(R.layout.activity_diary_list_item, null);

            viewHolder = new ViewHolder();

            viewHolder.image = (ImageView) v.findViewById(R.id.listImageView);
            viewHolder.date= (TextView) v.findViewById(R.id.date);
            viewHolder.content= (TextView) v.findViewById(R.id.content);

            v.setTag(viewHolder);


        }else {
            viewHolder = (ViewHolder)v.getTag();
        }

Picasso.with(mContext).load(getItem(position).getImage()).into(viewHolder.image);

이렇게 피카소 사용해서 image를 띄워주고 있는 상황입니다.

홀더에 있는 이미지 뷰 자체가 하나다 보니 재활용 할 수 있는데

말씀하신 것처럼 이미지뷰를 다섯개를 미리 만들어놓고도 가능한지는 잘 모르겠습니다.

일단 힌트가 되어 시도는 해 봐야 겠네요.. 현재 이런 코드인데 가능하겠죠 ?
...