이 프로젝트는 ListView에서 사용할 수 있는 작동하는 페이지 넘기기 구현을 제공하는 것을 목표로 합니다. [얄란티스]에서 제작 (https://yalantis.com/?utm_source=github)
[Dribbble 프로젝트]를 확인하세요(https://dribbble.com/shots/1758298-Find-Friends-Interaction?list=users&offset=35)
[Youtube](https://www.youtube.com/watch?v=zNRPjS53m5w)에서 작동 방식을 확인하세요.
#용법
제대로 구현하려면 샘플 프로젝트를 살펴보세요. - 샘플
동일한 그리드 형태의 뷰를 얻으려면 다음을 수행해야 합니다.
라이브러리를 로컬 라이브러리 프로젝트로 포함합니다.
compile ' com.yalantis:flipviewpager:1.0.0 '
기본 레이아웃을 생성하면 2개의 항목이 병합된 뷰가 됩니다.
<!-- ... -->
< ImageView
android : id = " @+id/first "
xmlns : android = " http://schemas.android.com/apk/res/android "
android : layout_width = " 0dp "
android : layout_weight = " 1 "
android : contentDescription = " left image "
android : layout_height = " wrap_content "
android : scaleType = " fitXY " />
< LinearLayout
android : layout_width = " 1dp "
android : layout_weight = " 0 "
android : background = " #000000 "
android : layout_height = " fill_parent " />
< ImageView
android : id = " @+id/second "
android : layout_width = " 0dp "
android : layout_weight = " 1 "
android : contentDescription = " right image "
android : layout_height = " wrap_content "
android : scaleType = " fitXY " />
<!-- ... -->
병합된 각 항목에 대한 추가 정보를 표시하기 위한 레이아웃을 만듭니다.
<!-- ... -->
< com .yalantis.flip.sample.views.FontTextView
style = " @style/TextView.Nickname "
android : id = " @+id/nickname " />
< LinearLayout
android : layout_below = " @+id/nickname "
android : id = " @+id/interestsPrimary "
style = " @style/LinearLayout.Interests " >
< com .yalantis.flip.sample.views.FontTextView
style = " @style/TextView.Interest "
android : id = " @+id/interest_1 " />
<!-- ... -->
</ LinearLayout >
어댑터를 생성하고 BaseFlipAdapter<T>
에서 확장합니다.
class FriendsAdapter extends BaseFlipAdapter < Friend > {
@ Override
public View getPage ( int position ,
View convertView ,
ViewGroup parent ,
Friend friend1 ,
Friend friend2 ) {
// ...
}
class FriendsHolder {
// ...
}
}
ListView
에서 어댑터 설정
final ListView friends = ( ListView ) findViewById ( R . id . friends );
friends . setAdapter ( new FriendsAdapter ( this , Utils . friends , settings ));
일반 ListView
와 마찬가지로 클릭을 처리할 수 있습니다.
friends . setOnItemClickListener ( new AdapterView . OnItemClickListener () {
@ Override
public void onItemClick ( AdapterView <?> parent , View view , int position , long id ) {
Friend friend = ( Friend ) friends . getAdapter (). getItem ( position );
Toast . makeText ( FriendsActivity . this , friend . getNickname (), Toast . LENGTH_SHORT ). show ();
}
});
더 많은 옵션이 곧 추가될 예정입니다 :)
#커스터마이징
사용자 정의할 페이지가 먼저 표시됩니다. FlipSettings 객체를 생성하여 어댑터에 전달합니다.
FlipSettings settings = new FlipSettings . Builder (). defaultPage ( 1 ). build ();
#호환성
귀하가 우리 구성요소를 사용하는 프로젝트에 대한 링크를 보내주시면 정말 기쁠 것입니다. [email protected]으로 이메일을 보내주세요. 애니메이션에 관한 질문이나 제안 사항이 있으면 알려주세요.
PS 우리는 코드로 싸인 더 멋진 기능과 Android(iOS)용 UI를 더 좋게 만드는 방법에 대한 튜토리얼을 게시할 예정입니다. 계속 지켜봐 주시기 바랍니다!
Copyright 2017, Yalantis
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.