开发者

Problem in tab host

开发者 https://www.devze.com 2023-03-21 08:15 出处:网络
I have created an tab host..what i want to do is to change the background color of each tab host on selected..in my casehave use three tab host intially the backgroundcolor of my first tab is white an

I have created an tab host..what i want to do is to change the background color of each tab host on selected..in my case have use three tab host intially the backgroundcolor of my first tab is white and rest two are black...now what i want is when i click on my second tab it background color changes to white and rest two become black and so on..i am sending my code..plese anyone check where i have to do this..

public void createTabHost()
        {
                    //create tabs
                    Resources res = getResources(); 
                    TabHost MainTabHost = getTabHost();  
                    TabHost.TabSpec spec; 
                    Intent intent; 

                    if(7 < Build.VERSION.SDK_INT)
                    {
                        MainTabHost.getTabWidget().setStripEnabled(false);
                    }

                    //call calendar Activity class
                    intent = new Intent().setClass(this, CalendarForm.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    spec = MainTabHost.newTabSpec("Calendar").setIndicator("Calendar",
                    res.getDrawable(R.drawable.calendar_ic)).setContent(intent);
                    MainTabHost.addTab(spec);

                    //call History Activity class
                    intent = new Intent().setClass(this, HistoryForm.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    spec = MainTabHost.newTabSpec("History").setIndicator("History",
                 开发者_JAVA技巧   res.getDrawable(R.drawable.calendar_ic)).setContent(intent);
                    MainTabHost.addTab(spec);

                    //call Statistic Activity class
                    intent = new Intent().setClass(this, StatisticForm.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    spec = MainTabHost.newTabSpec("Statistic").setIndicator("Statistic",
                    res.getDrawable(R.drawable.calendar_ic)).setContent(intent);
                    MainTabHost.addTab(spec);

                    //setbackground Style of tabHost
                    MainTabHost.setCurrentTab(0); 
                    MainTabHost.getTabWidget().setWeightSum(3);
                    TabWidget tabHost=getTabWidget();
                    MainTabHost.setBackgroundColor(Color.parseColor("#E0DCC9"));
                    //MainTabHost.setBackgroundResource(R.drawable.back_img);

                    for (int j = 0; j < MainTabHost.getTabWidget().getChildCount(); j++) 
                    {
                        ((TextView)tabHost.getChildAt(j).findViewById(android.R.id.title)).setTextColor(Color.parseColor("#FFFFFF"));
                         MainTabHost.getTabWidget().getChildAt(j).setBackgroundColor(Color.parseColor("#000000"));
                    }
                    MainTabHost.getTabWidget().getChildAt(0).setBackgroundColor(Color.parseColor("#E0DCC9"));
                    ((TextView)tabHost.getChildAt(0).findViewById(android.R.id.title)).setTextColor(Color.parseColor("#000000"));


        }


Try to do this in the xml layout file.

Use the value : android:background="@drawable/mytabhostbg, and create a new xml file name mytabhostbg in the folder drawable.

It should look like this :

< ?xml version="1.0" encoding="utf-8"?> < selector xmlns:android="http://schemas.android.com/apk/res/android"> < item android:state_window_focused="false" android:drawable="@drawable/buttonbackbleu" < item android:state_pressed="true" android:drawable="@drawable/buttonbackjaune" /> < item android:state_focused="true" android:drawable="@drawable/buttonbackbleu" /> < item android:state_enabled="true" android:drawable="@drawable/buttonbackbleu" /> < / selector>

Problem in tab host

<?xml version="1.0" encoding="UTF-8"?>

<item android:drawable="@drawable/back_image"
      android:state_selected="true" 
      android:state_pressed="false" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/hq_ii" />

<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"
    android:background="#2C6B4C">
    <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0dp">
    <TabWidget
    android:id="@android:id/tabs"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    />
    <FrameLayout
    android:id="@android:id/tabcontent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0dp"
    />
    </LinearLayout>
    </TabHost>
0

精彩评论

暂无评论...
验证码 换一张
取 消