zoukankan      html  css  js  c++  java
  • android颜色关于Android TabHost切换Tab字体的颜色背景颜色改变

    改章节是一篇关于android颜色的帖子

        

    最近在做一个平板电脑点餐的系统,要用到TabHost,不太好写,写好了分享给大家,先上图片,默认效果:

        android和颜色

        切换后效果

        android和颜色

        先是layout文件夹中的布局文件,代码如下:

        <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
        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"
            android:background="@drawable/category_bg"
            android:padding="0dp" >


            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="wrap_content"
                android:layout_height="40dp"/>


            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="@drawable/context_bg"
                android:padding="0dp" />
        </LinearLayout>


    </TabHost>

        

        然后是java文件,

        

        每日一道理
    风,那么轻柔,带动着小树、小草一起翩翩起舞,当一阵清风飘来,如同母亲的手轻轻抚摸自己的脸庞,我喜欢那种感觉,带有丝丝凉意,让人心旷神怡。享受生活,不一定要有山珍海味、菱罗绸缎为伴,大自然便是上帝所赐予人类最为珍贵的。
    package com.dzdc.activity;
    
    
    import android.app.TabActivity;
    import android.content.Intent;
    import android.graphics.Typeface;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;
    import android.widget.TabHost;
    import android.widget.TabHost.OnTabChangeListener;
    import android.widget.TextView;
    
    
    import com.dzdc.R;
    
    
    @SuppressWarnings("deprecation")
    public class IndexActivity extends TabActivity {
    	private String[] tabMenu = { "热菜", "冷菜", "海鲜", "川菜", "酒饮", "招牌菜" };
    	private Intent intent0, intent1, intent2, intent3, intent4, intent5;
    	private Intent[] intents = { intent0, intent1, intent2, intent3, intent4,
    			intent5 };
    	private TabHost.TabSpec tabSpec0, tabSpec1, tabSpec2, tabSpec3, tabSpec4,
    			tabSpec5;
    	private TabHost.TabSpec[] tabSpecs = { tabSpec0, tabSpec1, tabSpec2,
    			tabSpec3, tabSpec4, tabSpec5 };
    
    
    	private TabHost tabHost = null;
    
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏
    		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    				WindowManager.LayoutParams.FLAG_FULLSCREEN);
    		setContentView(R.layout.index);
    
    
    		tabHost = getTabHost();
    
    
    		for (int i = 0; i < tabMenu.length; i++) {
    			intents[i] = new Intent();
    			intents[i].setClass(this, IndexContentActivity.class);
    
    
    			tabSpecs[i] = tabHost.newTabSpec(tabMenu[i]);
    			tabSpecs[i].setIndicator(tabMenu[i]);// 设置文字
    			tabSpecs[i].setContent(intents[i]);// 设置该页的内容
    
    
    			tabHost.addTab(tabSpecs[i]);// 将该页的内容添加到Tabhost
    		}
    
    
    		tabHost.setCurrentTabByTag(tabMenu[0]); // 设置第一次打开时默认表现的标签,
    		
    		updateTab(tabHost);//初始化Tab的颜色,和字体的颜色
    		
    		tabHost.setOnTabChangedListener(new OnTabChangedListener()); // 选择监听器
    
    
    	}
    
    
    	class OnTabChangedListener implements OnTabChangeListener {
    
    
    		@Override
    		public void onTabChanged(String tabId) {
    			tabHost.setCurrentTabByTag(tabId);
    			System.out.println("tabid " + tabId);
    			System.out.println("curreny after: " + tabHost.getCurrentTabTag());
    			updateTab(tabHost);
    		}
    	}
    
    
    	@Override
    	public boolean onKeyDown(int keyCode, KeyEvent event) {
    		if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
    			System.exit(0);
    			return false;
    		} else if (keyCode == KeyEvent.KEYCODE_MENU
    				&& event.getRepeatCount() == 0) {
    			return true; // 返回true就不会弹出默认的setting菜单
    		}
    
    
    		return false;
    	}
    	
    	/**
         * 更新Tab标签的颜色,和字体的颜色
         * @param tabHost
         */
        private void updateTab(final TabHost tabHost) {
            for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
                View view = tabHost.getTabWidget().getChildAt(i);
                TextView tv = (TextView) tabHost.getTabWidget().getChildAt(i).findViewById(android.R.id.title);
     			tv.setTextSize(16);
     			tv.setTypeface(Typeface.SERIF, 2); // 设置字体微风格
                if (tabHost.getCurrentTab() == i) {//选中
                    view.setBackgroundDrawable(getResources().getDrawable(R.drawable.category_current));//选中后的背景
                    tv.setTextColor(this.getResources().getColorStateList(
         					android.R.color.black));
                } else {//不选中
                    view.setBackgroundDrawable(getResources().getDrawable(R.drawable.category_bg));//非选择的背景
                    tv.setTextColor(this.getResources().getColorStateList(
         					android.R.color.white));
                }
            }
        }
    }

        

        

        

        

        

        

    文章结束给大家分享下程序员的一些笑话语录: 自从有了Photoshop,我再也不相信照片了!(没有Photoshop的年代,胶片照片年代做假的也不少,那时候都相信假的!)

    --------------------------------- 原创文章 By
    颜色和字体
    ---------------------------------

  • 相关阅读:
    LeetCode 275. H-Index II
    LeetCode 274. H-Index
    LeetCode Gray Code
    LeetCode 260. Single Number III
    LeetCode Word Pattern
    LeetCode Nim Game
    LeetCode 128. Longest Consecutive Sequence
    LeetCode 208. Implement Trie (Prefix Tree)
    LeetCode 130. Surrounded Regions
    LeetCode 200. Number of Islands
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3097687.html
Copyright © 2011-2022 走看看