gpt4 book ai didi

android - 如何更改 Android 中 TabWidget 分隔线的颜色和/或可绘制对象?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:17:46 27 4
gpt4 key购买 nike

我正在使用 TabLayout 并且我为我正在使用的选项卡设置了自定义图像,但是对于我这辈子我无法弄清楚如何更改选项卡和选项卡之间分隔线的颜色甚至图像选项卡内容。我曾尝试使用 setDividerDrawable(),但是当我在设置选项卡内容之前调用它时它会崩溃,而当我在之后调用它时它什么也不做。如果我能把它变成黑色就足够了,但到目前为止没有任何效果。感谢您的指导。

最佳答案

你必须这样做: tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);

其中 R.drawable.tab_divider 是资源目录中的图像。

但关键是您必须在将任何选项卡添加到选项卡主机之前执行此操作。

我的选项卡初始化代码如下:

private void initializeTabs(int curTab) {
this.tabHost = getTabHost();
tabHost.clearAllTabs();

TabSpec ts1, ts2, ts3, ts4, ts5;
// tab separator
tabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider);

ts1 = this.setupTab(new TextView(this), tabHost, R.drawable.browse_tab_normal,
mResources.getString(R.string.Browse));

ts2 = this.setupTab(new TextView(this), tabHost, R.drawable.search_tab_normal,
mResources.getString(R.string.Search));

ts3 = this.setupTab(new TextView(this), tabHost, R.drawable.postad_tab_normal,
mResources.getString(R.string.Post));

ts4 = this.setupTab(new TextView(this), tabHost, R.drawable.watchlist_tab_normal,
mResources.getString(R.string.WatchList));

ts5 = this.setupTab(new TextView(this), tabHost, R.drawable.managead_tab_normal,
mResources.getString(R.string.Login));

// intents
ts1.setContent(new Intent().setClass(this, BrowseTabActivity.class));
ts2.setContent(new Intent().setClass(this, SearchTabActivity.class));
ts3.setContent(new Intent().setClass(this, PostAdTabActivity.class));
ts4.setContent(new Intent().setClass(this, WatchlistTabActivity.class));
ts5.setContent(new Intent().setClass(this, LoginTabActivity.class));

tabHost.addTab(ts1);
tabHost.addTab(ts2);
tabHost.addTab(ts3);
tabHost.addTab(ts4);
tabHost.addTab(ts5);

...

关于android - 如何更改 Android 中 TabWidget 分隔线的颜色和/或可绘制对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5189227/

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