zoukankan      html  css  js  c++  java
  • 找呀志_往来(6)_仿微通道底部导航栏

    效果如下面的

    使用TabHost布局,并使用单选button组和FrameLayout相结合

    布局文件代码:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    
        <TabHost
            android:id="@android:id/tabhost"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
    
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical" >
    
                <FrameLayout
                    android:id="@android:id/tabcontent"
                    android:layout_width="fill_parent"
                    android:layout_height="0.0dip"
                    android:layout_weight="1.0"
                    android:background="@color/daohang_text" >
                </FrameLayout>
    
                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.0"
                    android:visibility="gone" >
                </TabWidget>
    
                <RadioGroup
                    android:id="@+id/main_radiogroup"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:background="@drawable/daohang_bg"
                    android:gravity="center"
                    android:orientation="horizontal" >
    
                    <RadioButton
                        android:id="@+id/RadioButton1"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center_vertical"
                        android:layout_weight="1"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableLeft="@drawable/xml_tabselect_bg1"
                        android:gravity="center"
                        android:paddingLeft="10dp"
                        android:text="@string/daohang_cards"
                        android:textColor="@color/color_radiobutton" />
    
                    <RadioButton
                        android:id="@+id/RadioButton0"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:layout_weight="1.0"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableLeft="@drawable/xml_tabselect_bg2"
                        android:gravity="center"
                        android:padding="10dp"
                        android:text="@string/daohang_person" />
    
                    <RadioButton
                        android:id="@+id/RadioButton2"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:layout_weight="1.0"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableLeft="@drawable/xml_tabselect_bg3"
                        android:gravity="center"
                        android:padding="10dp"
                        android:text="@string/daohang_change"
                        android:textColor="@color/color_radiobutton" />
    
                    <RadioButton
                        android:id="@+id/RadioButton3"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableLeft="@drawable/xml_tabselect_bg4"
                        android:gravity="center"
                        android:padding="10dp"
                        android:text="@string/daohang_setup"
                        android:textColor="@color/color_radiobutton" />
                </RadioGroup>
            </LinearLayout>
        </TabHost>
    
    </RelativeLayout>

    Acyivity代码:

    package com.cards.activity;
    
    import android.app.ActivityManager;
    import android.app.AlertDialog;
    import android.app.TabActivity;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.widget.RadioGroup;
    import android.widget.RadioGroup.OnCheckedChangeListener;
    import android.widget.TabHost;
    import android.widget.TabHost.TabSpec;
    
    import com.cards.R;
    import com.cards.commom.MyApp;
    
    public class PremierAct extends TabActivity {
    	public static Class mTabClassArray[] = { CardsListAct.class,
    			MyCardAct.class, DiscoverAct.class, SetupAct.class };
    	public static String title[] = { "名片夹", "个人", "交换", "设置" };
    	private RadioGroup m_radioGroup;
    	private TabHost m_tabHost;
    	Intent intent;
    
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.act_premier);
    		// 用于安全退出
    		MyApp.getInstance().addActivity(this);
    		init();
    		// 设置默认显示界面
    		m_tabHost.setCurrentTabByTag(title[0]);
    		intent = new Intent();
    		startService(intent
    				.setAction("com.cards.activity.service.HeartService"));
    	}
    
    	// 初始化TabHost
    	private void init() {
    		m_tabHost = getTabHost();
    		int count = mTabClassArray.length;
    		for (int i = 0; i < count; i++) {
    			TabSpec tabSpec = m_tabHost.newTabSpec(title[i])
    					.setIndicator(title[i]).setContent(getTabItemIntent(i));
    			m_tabHost.addTab(tabSpec);
    		}
    
    		m_radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup);
    		m_radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
    			@Override
    			public void onCheckedChanged(RadioGroup group, int checkedId) {
    				switch (checkedId) {
    				case R.id.RadioButton0:
    					m_tabHost.setCurrentTabByTag(title[1]);
    					break;
    				case R.id.RadioButton1:
    					m_tabHost.setCurrentTabByTag(title[0]);
    					break;
    				case R.id.RadioButton2:
    					m_tabHost.setCurrentTabByTag(title[2]);
    
    					break;
    				case R.id.RadioButton3:
    					m_tabHost.setCurrentTabByTag(title[3]);
    					break;
    				}
    			}
    		});
    	}
    
    	private Intent getTabItemIntent(int index) {
    		Intent intent = new Intent(this, mTabClassArray[index]);
    		return intent;
    	}
    
    	@Override
    	protected void onStart() {
    		// 用于安全退出
    		MyApp.getInstance().addActivity(this);
    		super.onStart();
    	}
    
    	/**
    	 * 安全退出
    	 */
    	public boolean dispatchKeyEvent(KeyEvent event) {
    		if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
    				&& event.getAction() == KeyEvent.ACTION_DOWN
    				&& event.getRepeatCount() == 0) {
    			// 详细的操作代码
    			AlertDialog.Builder builder = new AlertDialog.Builder(
    					PremierAct.this);
    			builder.setMessage("确认退出吗?");
    			builder.setTitle("温馨提示");
    			builder.setPositiveButton("确认", new OnClickListener() {
    				public void onClick(DialogInterface dialog, int which) {
    					dialog.dismiss();
    					ActivityManager activityMgr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    					activityMgr.restartPackage(getPackageName());
    					stopService(intent
    							.setAction("com.cards.activity.service.HeartService"));
    
    					MyApp.getInstance().exit();
    					System.exit(0);
    					finish();
    					// 结束后台服务、 end
    				}
    			});
    			builder.setNegativeButton("取消", new OnClickListener() {
    				public void onClick(DialogInterface dialog, int which) {
    					// TODO Auto-generated method stub
    					dialog.dismiss();
    				}
    			});
    			builder.create().show();
    			return false;
    		}
    		return super.dispatchKeyEvent(event);
    	}
    
    	@Override
    	protected void onDestroy() {
    		// 退出时销毁当前activity时再销毁一次
    		ActivityManager activityMgr = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    		activityMgr.restartPackage(getPackageName());
    		MyApp.getInstance().exit();
    		System.exit(0);
    		stopService(intent.setAction("com.cards.activity.service.HeartService"));
    		finish();
    		super.onDestroy();
    	}
    }
    

    button按下效果:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item android:drawable="@drawable/daohang_cards" android:state_checked="false"/>
        <item android:drawable="@drawable/daohang_cards_put" android:state_checked="true"/>
    
    </selector>

    背景按下效果

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item android:drawable="@color/daohang_bg_put" android:state_checked="true"/>
    
    </selector>
    
     



    drawableTop:图片在上面

    drawableLeft:图片在右边


    图片在上边的样例:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    
        <TabHost
            android:id="@android:id/tabhost"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
    
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical" >
    
                <FrameLayout
                    android:id="@android:id/tabcontent"
                    android:layout_width="fill_parent"
                    android:layout_height="0.0dip"
                    android:layout_weight="1.0"
                    android:background="@color/white" >
                </FrameLayout>
    
                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.0"
                    android:visibility="gone" >
                </TabWidget>
    
                <RadioGroup
                    android:id="@+id/main_radiogroup"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="bottom"
                    android:background="@drawable/daohang_bg"
                    android:gravity="center"
                    android:paddingBottom="5dp"
                    android:paddingTop="5dp"
                    android:orientation="horizontal" >
    
                    <RadioButton
                        android:id="@+id/RadioButton1"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableTop="@drawable/xml_tabselect_bg1"
                        android:gravity="center"
                        android:text="资讯"
                        android:textColor="@color/white" />
    
                    <RadioButton
                        android:id="@+id/RadioButton0"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:layout_weight="1.0"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableTop="@drawable/xml_tabselect_bg1"
                        android:gravity="center"
                        android:text="学生中心"
                        android:textColor="@color/white" />
    
                    <RadioButton
                        android:id="@+id/RadioButton2"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:layout_weight="1.0"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableTop="@drawable/xml_tabselect_bg1"
                        android:gravity="center"
                        android:text="校友中心"
                        android:textColor="@color/white" />
    
                    <RadioButton
                        android:id="@+id/RadioButton3"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_gravity="center"
                        android:layout_weight="1"
                        android:background="@drawable/xml_tab_backgruod"
                        android:button="@null"
                        android:drawableTop="@drawable/xml_tabselect_bg1"
                        android:gravity="center"
                        android:text="个人"
                        android:textColor="@color/white" />
                </RadioGroup>
            </LinearLayout>
        </TabHost>
    
    </RelativeLayout>


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    中文词频统计
    复合数据类型,英文词频统计
    hadoop 综合大作业
    分布式并行计算MapReduce
    分布式文件系统HDFS 练习
    安装关系型数据库MySQL 安装大数据处理框架Hadoop
    爬虫综合大作业
    爬取全部的校园新闻
    获取一篇新闻的全部信息
    理解爬虫原理
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4643807.html
Copyright © 2011-2022 走看看