Pinterest와 같은 Android 이기종 gridview?
Android에서 레이아웃과 같은 Pinterest를 만들 수 GridView
있습니까? 사용하여 이미지 갤러리를 만들고 GridView
싶지만 좋은 솔루션인지 확실하지 않습니다. 나는 세 가지를 만들고 싶지 않습니다 LinearLayouts
(이 솔루션이 좋지 않다고 생각합니다 : Pinterest 스타일의 listview 또는 android의 gridview )
어떤 아이디어;)?
다음과 같이 레이아웃 만들기
<ScrollView...>
<LinearLayout....
android:id="@+id/linear1"
orientation="horizontal">
<LinearLayout....
android:id="@+id/linear2"
android:layout_weight="0.33"
orientation="vertical">
<LinearLayout....
android:id="@+id/linear3"
android:layout_weight="0.33"
orientation="vertical">
<LinearLayout....
android:layout_weight="0.33"
orientation="vertical">
</LinearLayout>
</ScrollView>
이제 ImageView
레이아웃에 동적으로 추가
linear1 = (LinearLayout) findViewById(R.id.linear1);
linear2 = (LinearLayout) findViewById(R.id.linear2);
linear3 = (LinearLayout) findViewById(R.id.linear3);
for(int i=0;i<n;i++)
{
ImageView iv = new ImageView(this);
iv.setImageResource(R.id.icon);
int j = count % 3; <----
if(j==0)
linear1.addView(iv);
else if(j==1)
linear2.addView(iv);
else
linear3.addView(iv);
}
산출:
나는 이것도 가지고 놀았지만 (LinearLayout 사용) 결국 메모리 소비에 많은 문제가있었습니다 (특히 항목을 다시로드해야 할 때). 두 개의 동기화 된 ListView 를 사용하는 간단한 솔루션을 결정했습니다 . 이렇게 하면 많은 도움이되는 내부 캐싱 을 이용할 수 있습니다 . 이렇게하려면 목록을 동기화 하는 OnTouchListener 와 OnScrollListener 를 사용해야했습니다 . 예를 들면 다음과 같습니다.
https://github.com/vladexologija/PinterestListView
Pinterest와 같은 그리드보기를 구현하는 데 유용한 라이브러리 :
- https://github.com/maurycyw/StaggeredGridViewDemo
- https://github.com/jacobmoncur/QuiltViewLibrary
- https://github.com/huewu/PinterestLikeAdapterView
- https://github.com/vladexologija/PinterestListView
- https://github.com/expilu/AntipodalWall
For Recent visitors to this question , I would suggest using RecyclerView
with StaggedGridLayoutManager
. It's having more than enough functions and flexibility.
A standalone helper for synchronizing scrolling of 2 ListViews: https://gist.github.com/yanchenko/6179793
I am using this lib: https://github.com/huewu/PinterestLikeAdapterView.
It works pretty well. The only issue I have is that the setOnItemClickListener
and setOnItemLongClickListener
are a bit buggy so I set the listeners directly on the convertView.
This library comes from the Etsy application: https://github.com/etsy/AndroidStaggeredGrid
ReferenceURL : https://stackoverflow.com/questions/11736658/android-heterogeneous-gridview-like-pinterest
'code' 카테고리의 다른 글
async / await로 추적 스택 (0) | 2020.12.26 |
---|---|
변경된 파일 만 다시 컴파일하도록 Makefile을 만들려면 어떻게해야합니까? (0) | 2020.12.25 |
사용자 지정 권한 부여 MVC4 Web Api에서 게시물 액세스 또는 매개 변수 가져 오기 (0) | 2020.12.25 |
Java 배열에 대한 복제 방법 (0) | 2020.12.25 |
Mongodb 업데이트 깊이 중첩 하위 문서 (0) | 2020.12.25 |