android - Card flip animation for one item in a gridview -


so making app restaurant displays items using gridview each item view have 1 button used buy meal , 3 textviews , imageview display meal image , name , details , price .

what trying here flip animation 1 item in gridview show on more detailed information meal .

the card flip animation example google android developer website uses 2 fragments in framelayout flip whole fragment don't need need flip item part of gridview who's in baseadapter called in fragment holds them all

i searched alot , found examples when try implement them can't find "android.animation" package in sdk mentioning have updated support libraries sdk manger .

please me on flip guys need . thanks.

here screen shots app , code.

the gridview made

https://drive.google.com/folder/d/0b9zvwspybhx1runydffiei1qdm8/edit

so did find answer question tutorial

http://icetea09.com/blog/2014/10/21/android-card-flip-animation/

flight_left_in.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"> <!-- rotate. --> <objectanimator     android:valuefrom="-180"     android:valueto="0"     android:propertyname="rotationy"     android:interpolator="@android:interpolator/accelerate_decelerate"     android:duration="500" />  <!-- when roration reach half of animation, show card --> <objectanimator     android:valuefrom="0.0"     android:valueto="1.0"     android:propertyname="alpha"     android:duration="1"     android:startoffset="250"/> </set> 

flip_right_out.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"> <!-- rotate. --> <objectanimator     android:valuefrom="0"     android:valueto="180"     android:propertyname="rotationy"     android:interpolator="@android:interpolator/accelerate_decelerate"     android:duration="500" />  <!-- half-way through rotation, hide front card --> <objectanimator     android:valuefrom="1.0"     android:valueto="0.0"     android:propertyname="alpha"     android:startoffset="250"     android:duration="1" /> </set> 

fav_grid_single.xml

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:padding="10dp" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" >  <linearlayout     android:id="@+id/fav_grid_single_front"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:background="@drawable/view_dropshadow" >      <relativelayout         android:layout_width="fill_parent"         android:layout_height="fill_parent"         android:background="@drawable/rounded_corner"         android:padding="10dp"         android:paddingbottom="@dimen/activity_vertical_margin"         android:paddingleft="@dimen/activity_horizontal_margin"         android:paddingright="@dimen/activity_horizontal_margin"         android:paddingtop="@dimen/activity_vertical_margin" >          <imageview             android:id="@+id/fav_grid_image"             android:layout_width="312dp"             android:layout_height="212dp"             android:padding="10dp" />          <textview             android:id="@+id/fav_grid_detialstext"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:layout_below="@+id/fav_grid_nametext"             android:padding="10dp"             android:text="ههههههههههههههههههههههههههههه"             android:textcolor="#111"             android:textsize="17dp" />          <textview             android:id="@+id/fav_grid_pricetext"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_alignbaseline="@+id/fav_grid_buybutton"             android:layout_alignbottom="@+id/fav_grid_buybutton"             android:layout_alignright="@+id/fav_grid_nametext"             android:padding="5dp"             android:text="500 sdg"             android:textcolor="#111"             android:textsize="18dp" />          <textview             android:id="@+id/fav_grid_nametext"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:layout_alignleft="@+id/fav_grid_detialstext"             android:layout_below="@+id/fav_grid_image"             android:layout_marginleft="18dp"             android:padding="5dp"             android:text="الاسم"             android:textcolor="#111"             android:textsize="25dp"             android:textstyle="bold" />          <ratingbar             android:id="@+id/fav_ratingbar"             android:layout_width="260dp"             android:layout_height="wrap_content"             android:layout_alignleft="@+id/fav_grid_detialstext"             android:layout_below="@+id/fav_grid_detialstext"             android:paddingleft="10dp" />          <button             android:id="@+id/fav_grid_buybutton"             android:layout_width="50dp"             android:layout_height="50dp"             android:layout_alignleft="@+id/fav_grid_nametext"             android:layout_below="@+id/fav_ratingbar"             android:background="@drawable/buy"             android:padding="5dp"             android:textsize="0dp" />     </relativelayout> </linearlayout>  <linearlayout     android:id="@+id/fav_grid_single_back"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:alpha="0"     android:background="@drawable/view_dropshadow"     android:orientation="horizontal" >      <relativelayout         android:layout_width="fill_parent"         android:layout_height="fill_parent"         android:background="@drawable/rounded_corner"         android:padding="10dp"         android:paddingbottom="@dimen/activity_vertical_margin"         android:paddingleft="@dimen/activity_horizontal_margin"         android:paddingright="@dimen/activity_horizontal_margin"         android:paddingtop="@dimen/activity_vertical_margin" >          <textview             android:id="@+id/fav_grid_morespatext"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:padding="5dp" />          <textview             android:id="@+id/fav_grid_morenametext"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:layout_below="@+id/fav_grid_morespatext"             android:padding="5dp"             android:text="الاسم"             android:textcolor="#111"             android:textsize="25dp"             android:textstyle="bold" />          <textview             android:id="@+id/fav_grid_moredetialstext"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:layout_below="@+id/fav_grid_morenametext"             android:padding="5dp"             android:text="التفاصيل"             android:textcolor="#111"             android:textsize="20dp" />     </relativelayout> </linearlayout>  <button     android:id="@+id/fav_grid_flipbutton"     style="?android:attr/buttonstylesmall"     android:layout_width="wrap_content"     android:layout_height="wrap_content"     android:layout_alignparentright="true"     android:layout_alignparenttop="true"     android:background="@drawable/info3" />  </relativelayout> 

favgrid.java

final button info = (button) grid.findviewbyid(r.id.fav_grid_flipbutton);         info.setonclicklistener(new onclicklistener() {             public void onclick(view arg0) {             setrightout = (animatorset) animatorinflater.loadanimator(context,             r.animator.flip_right_out);               setleftin = (animatorset) animatorinflater.loadanimator(context,             r.animator.flight_left_in);                 view v = parent.getchildat(integer.parseint(buy.gettext().tostring()));                 imgfront = (linearlayout)v.findviewbyid(r.id.fav_grid_single_front);                 imgback = (linearlayout)v.findviewbyid(r.id.fav_grid_single_back);                 if(!isbackvisible){                     setrightout.settarget(imgfront);                     setleftin.settarget(imgback);                     setrightout.start();                     setleftin.start();                     isbackvisible = true;                 }                 else{                     setrightout.settarget(imgback);                     setleftin.settarget(imgfront);                     setrightout.start();                     setleftin.start();                     isbackvisible = false;                 }             }         }); 

before flip after flip


Comments

Popular posts from this blog

searchKeyword not working in AngularJS filter -

sequelize.js - Sequelize: sort by enum cases -

user interface - how to replace an ongoing process of image capture from another process call over the same ImageLabel in python's GUI TKinter -