package wyf.ytl; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.GestureDetector.OnGestureListener; import android.view.ViewGroup.LayoutParams; import android.view.animation.AnimationUtils; import android.view.GestureDetector; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import android.widget.ViewFlipper; public class Common_Channels extends Activity implements OnGestureListener{ ListView ListView1,ListView2,ListView3; BaseAdapter ba; GestureDetector detector; ViewFlipper flipper; LinearLayout layout; int [] drawableIds={ R.drawable.andy, R.drawable.bill, R.drawable.edgar, R.drawable.torvalds, R.drawable.turing }; int [] msgIds={ R.string.andy, R.string.bill , R.string.edgar ,R.string.torvalds, R.string.turing }; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); flipper= new ViewFlipper( this ); detector = new GestureDetector( this ); InitListView(); InitFliper(); layout= new LinearLayout( this ); layout.addView(flipper); setContentView(layout); } public boolean InitFliper(){ flipper.addView(ListView1); flipper.addView(ListView2); flipper.addView(ListView3); return true ; } public boolean InitListView(){ ba= new BaseAdapter(){ public int getCount() { return 5 ; } public Object getItem( int position) { return null ; } public long getItemId( int position) { return 0 ; } public View getView( int position, View convertView, ViewGroup parent) { LinearLayout ll= new LinearLayout(Common_Channels. this ); ll.setOrientation(LinearLayout.HORIZONTAL); ll.setPadding( 5 , 5 , 5 , 5 ); ImageView ii= new ImageView(Common_Channels. this ); ii.setImageDrawable(getResources().getDrawable(drawableIds[position])); ii.setScaleType(ImageView.ScaleType.FIT_XY); ii.setLayoutParams( new Gallery.LayoutParams( 100 , 98 )); ll.addView(ii); TextView tv= new TextView(Common_Channels. this ); tv.setText(getResources().getText(msgIds[position])); tv.setTextSize( 24 ); tv.setTextColor(Common_Channels. this .getResources().getColor(R.color.white)); tv.setPadding( 5 , 5 , 5 , 5 ); tv.setGravity(Gravity.LEFT); ll.addView(tv); return ll; } }; ListView1= new ListView(Common_Channels. this ); ListView2= new ListView(Common_Channels. this ); ListView3= new ListView(Common_Channels. this ); ListView1.setAdapter(ba); ListView2.setAdapter(ba); ListView3.setAdapter(ba); return true ; } @Override public boolean onTouchEvent(MotionEvent event) { Log.i( "Fling" , "Activity onTouchEvent!" ); return this .detector.onTouchEvent(event); } @Override public boolean onDown(MotionEvent e) { return false ; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { Log.i( "Fling" , "Fling Happened!" ); if (e1.getX() - e2.getX() > 120 ) { this .flipper.setInAnimation(AnimationUtils.loadAnimation( this ,R.anim.push_left_in)); this .flipper.setOutAnimation(AnimationUtils.loadAnimation( this ,R.anim.push_left_out)); this .flipper.showNext(); } else if (e1.getX() - e2.getX() < - 120 ) { this .flipper.setInAnimation(AnimationUtils.loadAnimation( this ,R.anim.push_right_in)); this .flipper.setOutAnimation(AnimationUtils.loadAnimation( this ,R.anim.push_right_out)); this .flipper.showPrevious(); } return true ; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false ; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false ; } } |