gpt4 book ai didi

android - 选项卡主机中的问题

转载 作者:行者123 更新时间:2023-11-29 22:22:38 25 4
gpt4 key购买 nike

我创建了一个选项卡主机..我想做的是更改每个选项卡主机的背景颜色选择..在我的情况下,最初使用了三个选项卡主机,我的第一个选项卡的背景颜色是白色,其余两个是黑色的......现在我想要的是当我点击我的第二​​个选项卡时它的背景颜色变为白色并且其余两个变为黑色等等......我正在发送我的代码......请任何人检查我必须在哪里做这个。 .

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",
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"));


}

最佳答案

尝试在 xml 布局文件中执行此操作。

使用值:android:background="@drawable/mytabhostbg , 并在 drawable 文件夹中新建一个名为 mytabhostbg 的 xml 文件。

它应该是这样的:

< ?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>

enter image description here

<?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>

关于android - 选项卡主机中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6758459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com