package com.zhoujh.appstore;
import com.zhoujh.appstore.animation.WindowAnimation;
import android.app.ActivityGroup;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.ViewFlipper;
public class JifengActivity extends ActivityGroup {
private ViewFlipper mViewFlipper;
private GridView menuGridView;
//底部菜单的名字
private String []menuGridViewNames = null;
//未选择时 显示的图片资源id
private int []menuGridViewUnSelectedImgs = null;
//选择时 显示的图片资源id
private int []menuGridViewSelectedImgs = null;
//上次点击的位置,当前点击的位置
private int lastClickPosition,clickPosition;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
initRes();
findViews();
setValues();
setListeners();
}
private void findViews() {
menuGridView = (GridView)this.findViewById(R.id.gridview);
mViewFlipper = (ViewFlipper)this.findViewById(R.id.content);
}
private void setValues() {
menuGridView.setAdapter(new BottomMenuGridView(this));
menuGridView.setNumColumns(4);
menuGridView.setSelector(new ColorDrawable(Color.TRANSPARENT));
menuGridView.setGravity(Gravity.CENTER);
menuGridView.setBackgroundResource(R.drawable.tab_bg);
switchActivity(AppConstants.INDEX_ACTIVITY_INDEX);
}
private void initRes() {
menuGridViewNames = new String[4];
menuGridViewNames[0] = this.getString(R.string.tab_index);
menuGridViewNames[1] = this.getString(R.string.tab_type);
menuGridViewNames[2] = this.getString(R.string.app_rank);
menuGridViewNames[3] = this.getString(R.string.app_manager);
menuGridViewUnSelectedImgs = new int[4];
menuGridViewUnSelectedImgs[0] = R.drawable.tab_home_normal;
menuGridViewUnSelectedImgs[1] = R.drawable.tab_rank_normal;
menuGridViewUnSelectedImgs[2] = R.drawable.tab_category_normal;
menuGridViewUnSelectedImgs[3] = R.drawable.tab_app_unselect;
menuGridViewSelectedImgs = new int[4];
menuGridViewSelectedImgs[0] = R.drawable.tab_home_selected;
menuGridViewSelectedImgs[1] = R.drawable.tab_rank_selected;
menuGridViewSelectedImgs[2] = R.drawable.tab_category_selected;
menuGridViewSelectedImgs[3] = R.drawable.tab_app_select;
}
private void setListeners() {
menuGridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
//Log.i(TAG, "arg2="+arg2+"; arg3="+arg3);
lastClickPosition = clickPosition;
clickPosition = arg2;
if(lastClickPosition == clickPosition) return; //防止重复点击同一个菜单
RelativeLayout temp = (RelativeLayout)menuGridView.getChildAt(arg2);
temp.setBackgroundResource(R.drawable.product_title_bg);
temp.getChildAt(0).setBackgroundResource(menuGridViewSelectedImgs[arg2]);
for(int i=0; i<menuGridViewNames.length; i++) {
if(i != arg2) {
RelativeLayout temp2 = (RelativeLayout)menuGridView.getChildAt(i);
temp2.setBackgroundDrawable(null);
temp2.getChildAt(0).setBackgroundResource(menuGridViewUnSelectedImgs[i]);
}
}
switchActivity(arg2);
}
});
}
private void switchActivity(int index) {
String activityId = null;
Intent intent = null;
switch(index) {
case AppConstants.INDEX_ACTIVITY_INDEX:
intent = new Intent(this,IndexActivity.class);
activityId = AppConstants.INDEX_ACTIVITY;
break;
case AppConstants.TYPE_ACTIVITY_INDEX:
intent = new Intent(this,TypeActivity.class);
activityId = AppConstants.TYPE_ACTIVITY;
break;
case AppConstants.RANK_ACTIVITY_INDEX:
break;
case AppConstants.LOCAL_MANAGER_ACTIVITY_INDEX:
break;
}
if(activityId != null) {
toActivity(activityId, intent);
}
}
/**
* 切换到指定activity
* @param activityId
* @param intent
*/
public void toActivity(String activityId,Intent intent) {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
View view = getLocalActivityManager().startActivity(activityId, intent).getDecorView();
//切换activity时显示的动画效果
view.setAnimation(new WindowAnimation(500));
mViewFlipper.removeAllViews();
mViewFlipper.addView(view);
mViewFlipper.showNext();
}
private class BottomMenuGridView extends BaseAdapter {
private LayoutInflater mInflater;
public BottomMenuGridView(Context ctx) {
this.mInflater = LayoutInflater.from(ctx);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return menuGridViewUnSelectedImgs.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
MenuViewHolder viewHolder;
if(convertView == null) {
convertView = mInflater.inflate(R.layout.item_tab, null);
viewHolder = new MenuViewHolder();
viewHolder.imageView = (ImageView)convertView.findViewById(R.id.image_item);
viewHolder.textView = (TextView)convertView.findViewById(R.id.text_item);
convertView.setTag(viewHolder);
}else {
viewHolder = (MenuViewHolder)convertView.getTag();
}
viewHolder.imageView.setBackgroundResource(menuGridViewUnSelectedImgs[position]);
viewHolder.textView.setText(menuGridViewNames[position]);
return convertView;
}
}
private final class MenuViewHolder {
public ImageView imageView;
public TextView textView;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android--GridView + ViewFlipper布局界面,模仿“机锋市场
共70个文件
png:28个
class:19个
xml:8个
5星 · 超过95%的资源 需积分: 16 129 下载量 81 浏览量
2013-04-01
11:31:08
上传
评论 1
收藏 459KB RAR 举报
温馨提示
android--GridView + ViewFlipper布局界面,模仿“机锋市场
资源推荐
资源详情
资源评论
收起资源包目录
android--GridView + ViewFlipper布局界面,模仿“机锋市场”.rar (70个子文件)
jifeng_appstore
bin
classes.dex 16KB
com
zhoujh
appstore
IndexActivity$ListViewAdapter.class 2KB
IndexActivity.class 2KB
TypeActivity$ListViewHolder.class 813B
JifengActivity$BottomMenuGridView.class 2KB
R$layout.class 571B
JifengActivity$MenuViewHolder.class 789B
R$id.class 985B
R$drawable.class 1KB
animation
WindowAnimation.class 1KB
R$attr.class 343B
R.class 538B
JifengActivity$1.class 2KB
IndexActivity$ListViewHolder.class 884B
JifengActivity.class 5KB
AppConstants.class 747B
R$string.class 571B
TypeActivity.class 2KB
IndexActivity$GalleryAdapter.class 2KB
TypeActivity$ListViewAdapter.class 2KB
resources.ap_ 138KB
jifeng_appstore.apk 149KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
down_btn_0.png 2KB
tab_rank_normal.png 863B
gallery6.png 36KB
search_tab_normal.png 259B
list_item_bg_normal.png 201B
download_normal.png 3KB
down_btn_10.png 2KB
product_title_bg.png 9KB
icon_360.png 8KB
tab_rank_selected.png 1KB
tab_divider.png 201B
title_bar.png 3KB
tab_category_normal.png 205B
gallery_item_background.png 812B
tab_category_selected.png 242B
icon.png 8KB
tab_home_selected.png 552B
gallery5.png 23KB
tab_app_unselect.png 240B
search_button.png 2KB
Thumbs.db 52KB
logo.png 9KB
list_item_bg_selected.png 200B
tab_home_normal.png 352B
tab_bg.png 3KB
tab_app_select.png 387B
icon_qq.png 7KB
values
strings.xml 360B
drawable-mdpi
icon.png 3KB
layout
index_item_listview.xml 3KB
index.xml 1KB
item_tab.xml 576B
type_item_listview.xml 2KB
main.xml 662B
type.xml 1KB
assets
default.properties 362B
gen
com
zhoujh
appstore
R.java 4KB
proguard.cfg 1KB
.settings
org.eclipse.core.resources.prefs 149B
src
com
zhoujh
appstore
TypeActivity.java 3KB
IndexActivity.java 5KB
animation
WindowAnimation.java 2KB
JifengActivity.java 7KB
AppConstants.java 572B
.project 851B
.classpath 280B
AndroidManifest.xml 794B
共 70 条
- 1
资源评论
- W安2013-11-04此资料还是不错的啊。。。
- paraqy2015-06-10可以运行,谢谢分享
- 不羁de风2013-12-25写的不错,谢谢分享。。
- c662731392015-06-09可以运行,不错。
- adition2014-06-21不错,适合初学者
普通网友
- 粉丝: 203
- 资源: 132
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功