listview growing animation

Put problem concerning Views, Layouts and other XML-Resources (like AndroidManifest) here.

listview growing animation

Postby danielbenedykt » Sun Jun 14, 2009 10:00 pm

Hi
I want to do an animation so when a user presses a button a listview
changes its height (grows).
I know how to change the height of the listview to make it bigger, but
that its not 'animated'.
How can I make an animation that makes the listview grows?
Thanks
Daniel
danielbenedykt
Freshman
Freshman
 
Posts: 7
Joined: Tue May 26, 2009 1:33 am

Top

Postby arams » Mon Jun 15, 2009 1:28 pm

I got this from this site only
Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1. package aexp.animatedview;
  2.  
  3. import android.app.ListActivity;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.animation.Animation;
  7. import android.view.animation.AnimationUtils;
  8. import android.widget.ArrayAdapter;
  9. import android.widget.ListView;
  10. import android.widget.AdapterView;
  11. import android.widget.TextView;
  12.  
  13. import java.util.ArrayList;
  14.  
  15. public class AnimatedView extends ListActivity  {
  16.         //implements AdapterView.OnItemSelectedListener {
  17.         Animation anim = null;
  18.         ArrayList<String> items ;
  19.         TextView selected=null;
  20.     String oval;
  21.     /** Called when the activity is first created. */
  22.     @Override
  23.     public void onCreate(Bundle icicle) {
  24.         super.onCreate(icicle);
  25.                 anim = AnimationUtils.loadAnimation( this, R.anim.magnify );
  26.         setContentView(R.layout.main);
  27.                 ListView v = getListView();             // set up item selection listener
  28.                 //v.setOnItemSelectedListener( this );  // see OnItemSelectedListener methods below
  29.                 items = new ArrayList<String>();
  30.                 items.add( "Red" );
  31.                 items.add( "Grey" );
  32.                 items.add( "Cyan" );
  33.                 items.add( "Blue" );
  34.                 items.add( "Green" );
  35.                 items.add( "Yellow" );
  36.                 items.add( "Black" );
  37.                 items.add( "White" );
  38.                 ArrayAdapter itemsAdapter = new ArrayAdapter( this, R.layout.row, items );
  39.                 setListAdapter( itemsAdapter );
  40.                 v.setDividerHeight(6);
  41.     }
  42.  
  43.         protected void onListItemClick(ListView l,View v,int position,long id) {
  44.           v.startAnimation( anim );
  45.         }
  46. }
Parsed in 0.037 seconds, using GeSHi 1.0.8.4


IN RESOURCE ,CREATE A FOLDER--(Name anim)

and put this XML File inside anim folder

Syntax: [ Download ] [ Hide ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <scale xmlns:android="http://schemas.android.com/apk/res/android"
  3.    android:fromXScale="0.5"
  4.    android:toXScale="2.0"
  5.    android:fromYScale="0.5"
  6.    android:toYScale="2.0"
  7.    android:pivotX="0%"
  8.    android:pivotY="50%"
  9.    android:startOffset="0"
  10.    android:duration="400"
  11.    android:fillBefore="true" />
Parsed in 0.002 seconds, using GeSHi 1.0.8.4


//edit by WarrenFaith: added syntax tags
arams
Experienced Developer
Experienced Developer
 
Posts: 89
Joined: Fri May 08, 2009 7:45 am

Postby VIDEN » Mon Jun 15, 2009 3:44 pm

please use the ".java" and ".xml" buttons for code.... this is really hard to read

thanks

David
VIDEN
Developer
Developer
 
Posts: 32
Joined: Tue May 12, 2009 9:39 am
Location: Germany

Postby danielbenedykt » Mon Jun 15, 2009 5:41 pm

Thanks for the reply but this didnt do what I wanted.
I just wanted to change the height.

so this is what I did:

Basically I make a new thread that changes the height continuesly, and I run a sleep so it doesn't go too fast.
Maybe its not the best solution, but it does the trick :)
Let me know if you find a better solutions
thanks

Daniel


Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2. final LayoutParams lp = selectedList.getLayoutParams();
  3.  
  4.                                         if (lp.height == 211) {
  5.  
  6.  
  7.  
  8.                                                 Thread thread = new Thread() {
  9.  
  10.                                                         @Override
  11.  
  12.                                                         public void run() {
  13.  
  14.                                                                 for (int j = 0; j < 139; j++) {
  15.  
  16.                                                                         lp.height = 211 + j;
  17.  
  18.                                                                         selectedList.post(new Runnable() {
  19.  
  20.                                                                                 public void run() {
  21.  
  22.                                                                                         selectedList.requestLayout();
  23.  
  24.  
  25.  
  26.                                                                                 }
  27.  
  28.                                                                         });
  29.  
  30.                                                                         try {
  31.  
  32.                                                                                 Thread.sleep(2);
  33.  
  34.                                                                         } catch (InterruptedException e) {
  35.  
  36.                                                                                 // TODO Auto-generated catch
  37.  
  38.                                                                                 // block
  39.  
  40.                                                                                 e.printStackTrace();
  41.  
  42.                                                                         }
  43.  
  44.                                                                 }
  45.  
  46.                                                         }
  47.  
  48.                                                 };
  49.  
  50.                                                 thread.start();
  51.  
  52.  
Parsed in 0.033 seconds, using GeSHi 1.0.8.4
danielbenedykt
Freshman
Freshman
 
Posts: 7
Joined: Tue May 26, 2009 1:33 am

Top

Return to View, Layout & Resource Problems

Who is online

Users browsing this forum: No registered users and 6 guests