package com.marshalchen.common.demoofui.smoothswitch;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import com.marshalchen.common.demoofui.R;
import com.marshalchen.common.uimodule.smoothswitch.SwitchAnimationUtil;
import com.marshalchen.common.uimodule.smoothswitch.SwitchAnimationUtil.*;
public class ListActivity extends Activity {
private ListView mList;
private SwitchAnimationUtil mSwitchAnimationUtil;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.switch_animation_activity_list);
mList = (ListView) findViewById(R.id.list);
mList.setAdapter(new ListAdapter());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.switch_animation_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_alpha:
Constant.mType = AnimationType.ALPHA;
break;
case R.id.action_flip_horizon:
Constant.mType = AnimationType.FLIP_HORIZON;
break;
case R.id.action_flip_vertical:
Constant.mType = AnimationType.FLIP_VERTICAL;
break;
case R.id.action_horizon_left:
Constant.mType = AnimationType.HORIZION_LEFT;
break;
case R.id.action_horizon_right:
Constant.mType = AnimationType.HORIZION_RIGHT;
break;
case R.id.action_rotate:
Constant.mType = AnimationType.ROTATE;
break;
case R.id.action_scale:
Constant.mType = AnimationType.SCALE;
break;
case R.id.action_cross:
Constant.mType = AnimationType.HORIZON_CROSS;
break;
case R.id.action_next:
break;
}
Intent intent = new Intent(ListActivity.this, FragmentDemo.class);
startActivity(intent);
return super.onOptionsItemSelected(item);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (mSwitchAnimationUtil == null) {
mSwitchAnimationUtil = new SwitchAnimationUtil();
mSwitchAnimationUtil.startAnimation(mList, Constant.mType);
}
}
private class ListAdapter extends BaseAdapter {
private int[] res = new int[] { R.drawable.test_back, R.drawable.test_back1 };
@Override
public int getCount() {
return 99;
}
@Override
public Object getItem(int arg0) {
return null;
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
if (convertView == null) {
convertView = LayoutInflater.from(ListActivity.this).inflate(
R.layout.switch_animation_view_list_item, null);
}
ImageView avatar = (ImageView) convertView
.findViewById(R.id.item_avatar);
avatar.setImageResource(res[position % res.length]);
return convertView;
}
}
}