android颜色关于Android(安卓)TabHost切换Tab字体的颜色背景颜色改变
改章节是一篇关于android颜色的帖子
最近在做一个平板电脑点餐的系统,要用到TabHost,不太好写,写好了分享给大家,先上图片,默认效果:
切换后效果
先是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;@Overrideprotected 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 {@Overridepublic void onTabChanged(String tabId) {tabHost.setCurrentTabByTag(tabId);System.out.println("tabid " + tabId);System.out.println("curreny after: " + tabHost.getCurrentTabTag());updateTab(tabHost);}}@Overridepublic 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
颜色和字体
---------------------------------
更多相关文章
- Android——TextView属性XML详解
- Android(安卓)网络开发详解
- Android(安卓)studio 更新android SDK
- Eclipse中使用Android5.0新特性CardView
- 关于Android堆内存的设置
- 按钮状态选择(选中,取消)
- android 防止背景图片被拉伸 背景图片平铺
- Android—TextView的XML属性和方法
- android Canvas用法