- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想改变 tabwidget 背景的颜色。 我怎样才能改变蓝线的颜色??
我的代码是:
public class MainActivityNew extends ActionBarActivity implements
ActionBar.TabListener {
private FragmentTabHost mTabHost;
private int oldButtonId = 1;
private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private ActionBar actionBar;
private Database db;
private FrameLayout frame;
// Tab titles
private String[] tabs = {"Новости", "Мои купоны"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
private void initialization() {
frame = (FrameLayout) findViewById(R.id.content_frame);
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getSupportActionBar();
mAdapter = new TabsPagerAdapter(getSupportFragmentManager(), actionBar, frame, viewPager);
mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.content_frame);
///////////////Add now 16/01/2014
Bundle b = new Bundle();
mTabHost.getTabWidget().setDividerDrawable(R.color.tabTransparent);
View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator_new,mTabHost.getTabWidget(), false);
ImageView icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageDrawable(getResources().getDrawable(R.drawable.news_icon_selector));
mTabHost.addTab(mTabHost.newTabSpec("1")
.setIndicator(tabIndicator),
FragmentNews.class, b);
tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator_new,mTabHost.getTabWidget(), false);
icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageDrawable(getResources().getDrawable(R.drawable.catalog_icon_selector));
mTabHost.addTab(mTabHost.newTabSpec("2")
.setIndicator(tabIndicator), FragmentCatalog.class, b);
tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator_center,mTabHost.getTabWidget(), false);
icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageDrawable(getResources().getDrawable(R.drawable.my_cards_icon_selector));
mTabHost.addTab(mTabHost.newTabSpec("3").
setIndicator(tabIndicator),FragmentMyCards.class, b);
tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator_new,mTabHost.getTabWidget(), false);
icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageDrawable(getResources().getDrawable(R.drawable.near_icon_selector));
mTabHost.addTab(mTabHost.newTabSpec("4").
setIndicator(tabIndicator),FragmentNear.class, b);
tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator_new,mTabHost.getTabWidget(), false);
icon = (ImageView) tabIndicator.findViewById(R.id.icon);
icon.setImageDrawable(getResources().getDrawable(R.drawable.settings_icon_selector));
mTabHost.addTab(mTabHost.newTabSpec("5").
setIndicator(tabIndicator), FragmentSettingsPartOne.class, b);
mTabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
setActivityView(Integer.valueOf(tabId));
Log.d("tabs", "tabID=" + tabId);
}
});
////////////////////end of adding
viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(false);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Adding Tabs
for (String tab_name : tabs) {
actionBar.addTab(actionBar.newTab().setText(tab_name)
.setTabListener(this));
}
setButtonsColor(1, 3);
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
viewPager.setCurrentItem(tab.getPosition());
}
public void setActivityView(int newButtonId) {
switch (newButtonId) {
case 1:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.show();
viewPager.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, 0, 8.0f));
frame.setLayoutParams(new LinearLayout.LayoutParams(0, 0, 0f));
break;
default:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.hide();
frame.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, 0, 8.0f));
viewPager.setLayoutParams(new LinearLayout.LayoutParams(0, 0, 0f));
break;
}
}
@Override
protected void onResume() {
initialization();
db = Database.getInstance(this);
/**
* on swiping the viewpager make respective tab selected
* */
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
super.onResume(); /
}
}
我已阅读 this我接下来试试
TabWidget widget = mTabHost.getTabWidget();
for(int i = 0; i < widget.getChildCount(); i++) {
View v = widget.getChildAt(i);
// Look for the title view to ensure this is an indicator and not a divider.
TextView tv = (TextView)v.findViewById(android.R.id.title);
if(tv == null) {
continue;
}
// v.setBackgroundResource(R.drawable.your_tab_selector_drawable);
v.setBackgroundColor(Color.RED);
}
但它只会改变底部标签的背景颜色。
最佳答案
改为使用 android.support.design.widget.TabLayout
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/actionbar"
app:tabIndicatorColor="@color/tab_indicator_color" // this is what you want
app:tabIndicatorHeight="3dp" // tab indicator height
app:tabSelectedTextColor="@color/white"
app:tabTextColor="@color/font_color_white70"/>
这也具有向后兼容性
关于android - QTabWidget 改变底线颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21918986/
我开发了一个程序,我有 10 个备份。我向其中添加了一些行,当我编译项目时,现在出现以下错误: C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtWidgets\qta
我在 Ubuntu 上使用 Qt-5.8。这就是我的 QTabWidget 的显示方式: 黑点是我希望最小化按钮出现的位置。我遇到的一种方法是,我可以使用 QToolButton *qToolButt
我在 QTabWidget 上完成了以下样式(其中一个标签内有一个 QTabWidget): QTabBar::tab { border: 2px solid grey; } QTabBar:
TabWidget中的分隔线工作正常,但是当Tab窗口的背景设置为时 tabHost.getTabWidget().getChildTabViewAt(tabId).setBackgroundReso
我有一个带有六个选项卡的 QTabWidget,所有选项卡都有一个图标 -但图标不在选项卡的中央: 到目前为止我做了什么: tabWidget->setStyleSheet("QTabBar::tab
我目前正在使用样式表来为应用程序设置主题。这是我用于 QTabWidget 的样式表: /*QTabBar et QTabWidget*/ QTabBar::tab { background:
我有一个 QTabWidget包含 4 个选项卡。我想单独设置它们的每个标题的样式:我看到我可以使用样式表来做到这一点。但我的问题是,我不能只更改一个选项卡的标题(选项卡名称所在的位置),而不更改选项
我准备了一个小脚本来说明我的问题。事实上,我希望选项卡 1 (Tab 1) 中包含的按钮显示选项卡 4 (Tab 4)。 QTabWidget 包含在主类 (CLASSE_Main) 中,我从类 1
编辑:措辞并包括一个最低限度的可重复示例 我有一个关于对象名称如何在 PyQt5 中工作/OOP 如何在 PyQt5 中工作的问题: 背景 我正在开发一个包含 QTabWidget 的项目。每次单击“
我正在使用 Qt,并且在 Qt 设计器编辑器中有一个 QTabWidget 设置,您可以在图 1 中看到它。 正如您在 Tab4 之后看到的那样,一直到右边缘有一个空白空间,以某种方式我需要用一种颜色
我设置了ui->tabWidget->setTabsClosable(true);,但是QTabwidget在每个选项卡上仅显示一个十字,单击此按钮时不会关闭选项卡。要关闭标签页,我还需要做什么?我试
我正在使用带有三个选项卡的QTabWidget。 其中一个选项卡是关于信息/帮助的。所以我想使用问号图片 (.png) 而不是文本“帮助”。 这可能吗?我正在使用 Python/PyQt,但只能找到
我的应用程序上有一个 QTabWidget,因此用户可以通过单击标题来浏览标签页,我想知道用户何时打开标签页,他/她之前是否访问过该页面。在 QWizard 类中有一个方法 hasVisitedPag
我在使用 QTabWidget 时遇到了一些问题。如果缺少隐藏功能,我必须自己构建。根据我使用 removeTab 和 insertTab 的文档,但是使用 insert Tab 时,我无法显示已删除
我正在使用最新的 Qt 4.5 并使用 Qt Creator 创建我的 GUI。我的选项卡小部件在 Creator 中看起来不错,显示了所有图标。然而,当我编译并运行它时,没有图标,但选项卡比它们更宽
我想改变 tabwidget 背景的颜色。 我怎样才能改变蓝线的颜色?? 我的代码是: public class MainActivityNew extends ActionBarActivity i
我在创建 UI 时遇到了一些困难。 我需要什么: 1 个 QTabWidget 和 3 个 QWidget 作为标签。其中一个 Widget 包含 QPushButtons、QLineEdits,并且
我正在学习 Qt 和一般的 C++,我被这个问题困住了。希望回答起来很简单。 我有一个由这段代码创建的QTextEdit: void MainWindow::on_actionNewtab_trigg
我正在尝试创建一个具有多个选项卡的 QTabWidget 的图形用户界面。作为初步测试,我创建了一个具有两个使用相同布局的选项卡的测试。第一个选项卡(第 1 页)是空白的,但第二个选项卡显示了我创建的
我正在使用 QTabWidget(由 AbstractManagerTab 组成的 pHTab)来显示一些数据(IpTrafficPage 和 SpecTrafficPage 小部件),我需要将 QP
我是一名优秀的程序员,十分优秀!