Este proyecto tiene como objetivo proporcionar una implementación funcional de cambio de página para su uso en ListView. Hecho en [Yalantis] (https://yalantis.com/?utm_source=github)
Mira este [proyecto en Dribbble] (https://dribbble.com/shots/1758298-Find-Friends-Interaction?list=users&offset=35)
Vea cómo funciona en [Youtube] (https://www.youtube.com/watch?v=zNRPjS53m5w)
#Uso
Para una implementación funcional, eche un vistazo al Proyecto de muestra: muestra
Para lograr la misma vista de cuadrícula, debes:
Incluir la biblioteca como proyecto de biblioteca local:
compile ' com.yalantis:flipviewpager:1.0.0 '
Crea tu diseño principal, será la vista con 2 elementos fusionados:
<!-- ... -->
< 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 " />
<!-- ... -->
Cree un diseño para mostrar información adicional para cada elemento combinado:
<!-- ... -->
< 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 >
Crea tu adaptador y extiéndelo desde BaseFlipAdapter<T>
class FriendsAdapter extends BaseFlipAdapter < Friend > {
@ Override
public View getPage ( int position ,
View convertView ,
ViewGroup parent ,
Friend friend1 ,
Friend friend2 ) {
// ...
}
class FriendsHolder {
// ...
}
}
Configure su adaptador en ListView
final ListView friends = ( ListView ) findViewById ( R . id . friends );
friends . setAdapter ( new FriendsAdapter ( this , Utils . friends , settings ));
Puede manejar clics como en ListView
normal.
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 ();
}
});
Pronto se agregarán más opciones :)
#Personalización
Para personalizar la página se mostrará primero: cree y pase el objeto FlipSettings al adaptador
FlipSettings settings = new FlipSettings . Builder (). defaultPage ( 1 ). build ();
#Compatibilidad
Estaríamos muy contentos si nos enviara enlaces a sus proyectos en los que utiliza nuestro componente. Simplemente envíe un correo electrónico a [email protected] y háganos saber si tiene alguna pregunta o sugerencia sobre la animación.
PD: Vamos a publicar más maravillas envueltas en código y un tutorial sobre cómo hacer que la interfaz de usuario para Android (iOS) sea mejor que mejor. ¡Manténganse al tanto!
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.