package com.jclt.activity;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class SecondActivity extends CommonActivity {
private int BOYSHOES = 0;
private int GIRLSHOES = 1;
private int MORESHOES = 2;
private ListAdapter adapter = null ;
private float density = 0 ;
private List<Map<String, Object>> list = null;
/**=================Gallery===============*/
private Gallery pictureGallery = null ;
private int[] picture = {
R.drawable.gallery1,
R.drawable.gallery2,
R.drawable.gallery3,
R.drawable.gallery4,
R.drawable.gallery5,
R.drawable.gallery6,
};
private int index = 0 ;
/**=======================================*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ȥ���ֻ�����Ĭ�ϱ���
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.second_tiem);
// �ֻ������������
super.textViewTitle = (TextView) findViewById(R.id.title);
super.textViewTitle.setText(R.string.app_name);
//
this.pictureGallery = (Gallery)findViewById(R.id.gallery);
ImageAdapter adapter = new ImageAdapter(this);
this.pictureGallery.setAdapter(adapter);
Timer timer = new Timer();
timer.schedule(task, 2000, 2000);
this.parentControl();
}
/**
* ��ʱ��
*/
private TimerTask task = new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 2 ;
index = pictureGallery.getSelectedItemPosition();
index ++ ;
handler.sendMessage(message);
}
};
/**
* Handler
*/
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 2:
pictureGallery.setSelection(index);
break;
default:
break;
}
}
};
/**
* CommonActivity�Ĺ����ؼ�
*/
private void parentControl(){
//��ȡ�ܶ�
this.getDensity();
// �ײ��˵�������¼�Ч������
imageViewIndex = (ImageView) findViewById(R.id.menu_home_img);
imageViewIndex.setOnTouchListener(viewIndex);
imageViewIndex.setImageResource(R.drawable.menu_home_pressed);
imageViewType = (ImageView) findViewById(R.id.menu_brand_img);
imageViewType.setOnTouchListener(viewType);
imageViewShooping = (ImageView) findViewById(R.id.menu_shopping_cart_img);
imageViewShooping.setOnTouchListener(viewShooping);
imageViewMyLetao = (ImageView) findViewById(R.id.menu_my_letao_img);
imageViewMyLetao.setOnTouchListener(viewMyLetao);
imageViewMore = (ImageView) findViewById(R.id.menu_more_img);
imageViewMore.setOnTouchListener(viewMore);
// ��XML�е�ListView����ΪItem������
super.listViewAll = (ListView) findViewById(android.R.id.list);
initDate();
// ����ý���ʱ,ģ�´ӷ�������������ʱ�����������
// super.progressDialog = ProgressDialog.show(this, "��ͨ����", "���ݻ�ȡ��....",
// true);
//super.progressDialog.show();
// ͨ���߳���ѭ�����ý�����
//super.handler.post(this);
}
/**
* ��ȡ��Ļ���ܶ�
*/
private void getDensity(){
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
density = metrics.density;
}
/**
* ��ȡListView������
* @return
*/
private List<Map<String, Object>> getDate() {
List<Map<String, Object>> listLitong = new ArrayList<Map<String, Object>>();
for (int i = 0; i < TYPE.length; i++) {
Map<String, Object> maplitong = new HashMap<String, Object>();
maplitong.put("text", TYPE[i]);
maplitong.put("img", R.drawable.toright_mark);
maplitong.put("img_pre", R.drawable.paopao);
listLitong.add(maplitong);
}
return listLitong;
}
/**
* ListView����
*/
static final String[] TYPE = { "��Ь", "ŮЬ", "�������", "��Ʒ", "Ʒ�ƹ�", "ÿ�վ�Ʒ" };
/**
* �ڲ���
* ListView������
* @author Administrator
*
*/
class listViewLitongOnclickListener implements OnItemClickListener {
//private Intent intent = getIntent();
@Override
public void onItemClick(AdapterView<?> list, View view, int position,
long id) {
if (position == BOYSHOES) {
intent.setClass(SecondActivity.this, BoyShoesActivity.class);
startActivity(intent);
} else if (position == GIRLSHOES) {
intent.setClass(SecondActivity.this, GirlShoesActivity.class);
startActivity(intent);
} else if (position == MORESHOES) {
intent.setClass(SecondActivity.this, MoreShoesActivity.class);
startActivity(intent);
}else {
intent.setClass(SecondActivity.this, NewProMarketActivity.class);
startActivity(intent);
}
}
}
/**
* ����һ��������(�Ѹ���������ListView����)
*
* @author TanRuixiang
* @date 2011��8��3��, PM 03:06:36
*/
class ListAdapter extends BaseAdapter{
private LayoutInflater inflater;
public final class Holder {
ImageView picture;
TextView text;
ImageView navigation;
}
public ListAdapter(Context context){
this.inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
if (convertView == null) {
holder = new Holder();
convertView = inflater.inflate(R.layout.common_listview_text, null);
holder.picture = (ImageView) convertView.findViewById(R.id.img_pre);
holder.text = (TextView) convertView.findViewById(R.id.text);
holder.navigation = (ImageView)convertView.findViewById(R.id.img);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
holder.picture.setImageResource(R.drawable.paopao);
holder.text.setText((String) list.get(position).get("text"));
holder.navigation.setImageResource(R.drawable.toright_mark);
return convertView;
}
}
/**
* �õ���������List�Ĵ�С</br> ���List�����ڿ� ���� List�Ĵ�С������</br>
* ʵ����һ���Զ����������,���Զ�������������ؼ�ListView����</br>
* ʵ����һ���Զ���ļ�����,���Զ���ļ��������ؼ�ListView����</br> �ж���Ļ���ܶ� </br> ����ܶ�С��1.0
* �ܶȵ���1.5</br> ��ListView�ֶ����ÿ�Ⱥ߶�</br>
*/
private void initDate(){
list = getDate();
if(list != null && list.size() > 0 ){
adapter = new ListAdapter(this);
super.listViewAll.setAdapter(adapter);
super.listViewAll.setOnItemClickListener(new listViewLitongOnclickListener());
if(density < 1.0 || density == 1.5){
super.listViewAll.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, (int) (list
.size() * 48 * density)));
}else{
super.listViewAll.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, (int) (list
.size() * 47 * density)));
}
}
}
/**
* �Զ���һ��ͼƬ��ʾ������
* @author TanRuixiang
*
*/
class ImageAdapter extends BaseAdapter{
private int GalleryItemBackground;
private Context context ;
public ImageAdapter(Context context ){
this.context = context ;
TypedArray typedArray = context.obtainStyledAttributes(R.styleable.Gallery);
GalleryItemBackground = typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(context);
imageView.setImageResource(picture[position % picture.length]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(Gallery.LayoutParams.FILL_PARENT, Gallery.LayoutParams.FILL_PARENT));
imageView.setBackgroundResource(GalleryItemBackground);
return imageView;
}
}
@Override
protected void onResume() {
if (CommonActivity.exit) {
CommonActivity.exit = false;
finish();
}
super.onResume();
}
/**
* �˳�
*/
private void openQiutDialog() {
new AlertDialog.Builder(this).setTitle("��ͨ����").setMessage("�Ƿ��˳���ͨ���")
.setPositiveButton("ȷ��", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.exit(0);
finish();
}
}).setNegativeButton("ȡ��",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
}
}).show();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
openQiutDialog();
return true;
}
return super.onKeyDown(keyCode, event);
}
}