在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → 生活百事通app源码下载

生活百事通app源码下载

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:5.34M
  • 下载次数:46
  • 浏览次数:434
  • 发布时间:2017-11-21
  • 实例类别:Android平台开发
  • 发 布 人:pennlx
  • 文件格式:.zip
  • 所需积分:4
 相关标签: 安卓

实例介绍

【实例简介】
【实例截图】

【核心代码】

package com.xzh.ui;

import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.TabActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo.State;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.RadioButton;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TabWidget;
import android.widget.ViewFlipper;

import com.example.livinghelper.R;
import com.xzh.utils.AnimationTabHostUtils;
import com.xzh.utils.CustomerDialog;
import com.xzh.utils.ExitManager;
/*本类主要实现和底部导航条tabhost,实现视图却换*/
public class MainActivity extends TabActivity implements OnTabChangeListener {
	public static MainActivity instance;
	
	private TabHost tabHost;
	private RadioButton main_tab_traffic, main_tab_living, main_tab_property,
	main_tab_wiki, main_tab_more;
	private GestureDetector gestureDetector;//手势滑动
	private AnimationTabHostUtils mTabHostUtils;
	private TabWidget mTabWidget;
	private FrameLayout frameLayout;
	private ViewFlipper viewFlipper;
	/** 记录当前分页ID */
	private int currentTabID = 0;

	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
       this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        instance=this;
        
        //检测网络情况
        CheckNetwork();
        
        mTabHostUtils = (AnimationTabHostUtils) findViewById(android.R.id.tabhost);
 
        //初始化底部的tabhost
        initTab();
        init();
        
        mTabWidget = (TabWidget) findViewById(android.R.id.tabs);
        System.out.println(mTabWidget.getChildCount() "======mTabWidget.getChildCount()=====");
        
        tabHost.setOnTabChangedListener(this);
        onTabChanged("traffic");
        
       //手势滑动事件处理
        gestureDetector = new GestureDetector(new TabHostTouch());
		new View.OnTouchListener() {
			public boolean onTouch(View v, MotionEvent event) {
				if (gestureDetector.onTouchEvent(event)) {
					return true;
				}
				return false;
			}
		};
		frameLayout = mTabHostUtils.getTabContentView();
		
		
       ExitManager.getInstance().addActivity(this);
    }
    
    //初始化按钮
    public void init(){
    	main_tab_traffic=(RadioButton)findViewById(R.id.main_tab_traffic);
    	main_tab_property = (RadioButton) findViewById(R.id.main_tab_property);
    	main_tab_living = (RadioButton) findViewById(R.id.main_tab_living);
    	main_tab_wiki = (RadioButton) findViewById(R.id.main_tab_wiki);
		main_tab_more = (RadioButton) findViewById(R.id.main_tab_more);
		//主页
		main_tab_traffic.setOnClickListener(new OnClickListener() {

			public void onClick(View view) {
				tabHost.setCurrentTabByTag("traffic");

			}
		});

		//理财
		main_tab_property.setOnClickListener(new OnClickListener() {

			public void onClick(View view) {
				tabHost.setCurrentTabByTag("property");

			}
		});
		
		//生活
				main_tab_living.setOnClickListener(new OnClickListener() {

					public void onClick(View view) {
						tabHost.setCurrentTabByTag("living");

					}
				});
		//百科
		main_tab_wiki.setOnClickListener(new OnClickListener() {

			public void onClick(View view) {
				tabHost.setCurrentTabByTag("wiki");

			}
		});
		//更多
		main_tab_more.setOnClickListener(new OnClickListener() {

			public void onClick(View view) {
				tabHost.setCurrentTabByTag("more");

			}
		});
    }
    
    //初始化底部的tab表
    public void initTab(){
    	tabHost=getTabHost();
    	
    	System.out.println(tabHost "===tabHost==");
    	
    	
    	tabHost.addTab(tabHost.newTabSpec("traffic").setIndicator("traffic")
				.setContent(new Intent(this, MainActivityTraffic.class))); 
    	
		tabHost.addTab(tabHost.newTabSpec("property").setIndicator("property")
				.setContent(new Intent(this, MainActivityProperty.class)));
		tabHost.addTab(tabHost.newTabSpec("living").setIndicator("living")
				.setContent(new Intent(this, MainActivityLiving.class)));
		tabHost.addTab(tabHost.newTabSpec("wiki").setIndicator("wiki")
				.setContent(new Intent(this, MainActivityWiki.class)));
		tabHost.addTab(tabHost.newTabSpec("more").setIndicator("more")
				.setContent(new Intent(this, MainActivityChat.class)));
		
		
		mTabHostUtils.setOpenAnimation(true);
    }

 

    
    //自定义触摸响应
    private class TabHostTouch extends SimpleOnGestureListener {
		/** 滑动翻页所需距离 */
		private static final int ON_TOUCH_DISTANCE = 80;

		@Override
		public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
				float velocityY) {
			if (e1.getX() - e2.getX() <= (-ON_TOUCH_DISTANCE)) {
				currentTabID = mTabHostUtils.getCurrentTab() - 1;

				// tabHost.setCurrentTab(currentTabID-1<0?0:currentTabID-1);
				if (currentTabID < 0) {
					currentTabID = mTabHostUtils.getTabCount() - 1;
				}
			} else if (e1.getX() - e2.getX() >= ON_TOUCH_DISTANCE) {
				currentTabID = mTabHostUtils.getCurrentTab()   1;

				if (currentTabID >= mTabHostUtils.getTabCount()) {
					currentTabID = 0;
				}
			}
			tabHost=getTabHost();
			tabHost.setCurrentTab(currentTabID);
			
			
			return false;
		}
	}
    
    @Override
    public boolean dispatchTouchEvent(MotionEvent event) {
    	if (gestureDetector.onTouchEvent(event)) {
			event.setAction(MotionEvent.ACTION_CANCEL);
		}

		return super.dispatchTouchEvent(event);
    }

    
    //使用手势滑动的时候,执行本方法
	@Override
	public void onTabChanged(String tabId) {
		
		if(tabId.equals("traffic")){
			main_tab_traffic.setBackgroundResource(R.drawable.home_btn_bg_s);
			main_tab_living.setBackgroundResource(R.drawable.head_bg);
			main_tab_property.setBackgroundResource(R.drawable.head_bg);
			main_tab_wiki.setBackgroundResource(R.drawable.head_bg);
			main_tab_more.setBackgroundResource(R.drawable.head_bg);
		}else if(tabId.equals("living")){
			main_tab_living.setBackgroundResource(R.drawable.home_btn_bg_s);
			main_tab_property.setBackgroundResource(R.drawable.head_bg);
			main_tab_wiki.setBackgroundResource(R.drawable.head_bg);
			main_tab_more.setBackgroundResource(R.drawable.head_bg);
			main_tab_traffic.setBackgroundResource(R.drawable.head_bg);
		}else if(tabId.equals("property")){
			main_tab_property.setBackgroundResource(R.drawable.home_btn_bg_s);
			main_tab_wiki.setBackgroundResource(R.drawable.head_bg);
			main_tab_more.setBackgroundResource(R.drawable.head_bg);
			main_tab_traffic.setBackgroundResource(R.drawable.head_bg);
			main_tab_living.setBackgroundResource(R.drawable.head_bg);
		}else if(tabId.equals("wiki")){
			main_tab_wiki.setBackgroundResource(R.drawable.home_btn_bg_s);
			main_tab_more.setBackgroundResource(R.drawable.head_bg);
			main_tab_traffic.setBackgroundResource(R.drawable.head_bg);
			main_tab_living.setBackgroundResource(R.drawable.head_bg);
			main_tab_property.setBackgroundResource(R.drawable.head_bg);
		}else{
			main_tab_more.setBackgroundResource(R.drawable.home_btn_bg_s);
			main_tab_traffic.setBackgroundResource(R.drawable.head_bg);
			main_tab_living.setBackgroundResource(R.drawable.head_bg);
			main_tab_property.setBackgroundResource(R.drawable.head_bg);
			main_tab_wiki.setBackgroundResource(R.drawable.head_bg);
		}
		
		//由于采用下面的方法出现不能将String-->int类型,只能用上面这种笨
		/*int tabID = Integer.valueOf(tabId);
	     System.out.println(tabId "====tabId=====");
	     for (int i = 0; i < mTabWidget.getChildCount(); i  ) {
				if (i == tabID) {
					mTabWidget.getChildAt(i).setBackgroundResource(
							R.drawable.home_btn_bg_s);
				} else {
					mTabWidget.getChildAt(i).setBackgroundResource(
							R.drawable.head_bg);
				}
	     }*/
	}

	
	//退出程序 
    public boolean dispatchKeyEvent( KeyEvent event) {
		 if (event.getAction()==KeyEvent.ACTION_DOWN&&event.getKeyCode()==KeyEvent.KEYCODE_BACK) {
			if (event.getRepeatCount() == 0) {
				CustomerDialog.Builder alertDialog = new CustomerDialog.Builder(
						MainActivity.this);
				alertDialog.setIcon(R.drawable.ic_menu_question);
				alertDialog.setTitle("是否退出程序");
				alertDialog.setMessage("是否确定退出本程序 !");
				alertDialog.setPositiveButton("确定",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,
									int which) {
								ExitManager.getInstance().exit();
							    
						         android.os.Process.killProcess(android.os.Process.myPid());
							}
						});
				alertDialog.setNegativeButton("取消",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,
									int which) {
								dialog.dismiss();
							}
						});
				alertDialog.create().show();
			}
		}
		return super.dispatchKeyEvent(event);
	}
	
   
  //没有网络的时候跳转到设置界面
    public boolean CheckNetwork() {
             boolean flag = false;
             ConnectivityManager connManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
             //检测3g网络是否可用
             State mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
             //检测wifi是否可用
             State wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
             if (connManager.getActiveNetworkInfo() != null)
                     flag = connManager.getActiveNetworkInfo().isAvailable();//如果得到的network可用
            else  {
                     Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络")
                                     .setMessage("请开启GPRS或WIFI");
                     b.setPositiveButton("设置", new DialogInterface.OnClickListener() {
                             public void onClick(DialogInterface dialog, int which) {
                            	//进入无线网络配置界面
                            	 Intent intent = new Intent("android.settings.WIRELESS_SETTINGS");
                            	 startActivity(intent);
                             }
                     }).setNeutralButton("取消", new DialogInterface.OnClickListener() {
                             public void onClick(DialogInterface dialog, int which) {
                                     dialog.cancel();
                             }
                     }).create();
                     b.show();
             }
             return flag;
   
    }
	
   
}

标签: 安卓

实例下载地址

生活百事通app源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警