このプロジェクトは、ListView で使用するための実用的なページ反転実装を提供することを目的としています。 [Yalantis] 製 (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.