gpt4 book ai didi

android - 当从代码设置 qtabwidget 背景时,tabwidget 中的 qtabwidget 分隔符消失了吗?

转载 作者:行者123 更新时间:2023-11-29 14:20:09 27 4
gpt4 key购买 nike

TabWidget中的分隔线工作正常,但是当Tab窗口的背景设置为

tabHost.getTabWidget().getChildTabViewAt(tabId).setBackgroundResource(R.drawable.tab_indicator);

问题是如何在设置背景后在选项卡小部件中设置分隔线虽然我用过

tabhost.getTabWidget().setDividerDrawable(R.drawable.tab_widget_divider);

不适用于多个选项卡。

最佳答案

可能有多种原因导致分隔线不显示...

<强>1。必须在将选项卡添加到 tabHost 之前使用 setDividerDrawable()。

<强>2。默认情况下,为每个 tabindicator 的 View 设置了 -2(左)、-2(右)边距...

默认情况下,系统为 tabWidget 背景使用 9-patch drawables,左侧和右侧至少有 2 个像素保持透明(或半透明以实现阴影效果)。

my custom tab example

<我>1。演示


original system 9-path drawable in android 2.3.3 (selected) enter image description here

2.用于选项卡小部件背景的库存 9 路径可绘制对象。您可以使用这些进行实验


如果您不想使用 9-path drawables...您可以将边距设置为 0 以防止选项卡 View 与分隔线重叠。这是代码:

    View v;
int count = tw.getTabCount();
for (int i = 0; i < count; i++) {
v = tw.getChildTabViewAt(i);
v.setBackgroundResource(R.drawable.bg_tab);
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) v.getLayoutParams();
params.setMargins(0, 0, 0, 0);
}

关于android - 当从代码设置 qtabwidget 背景时,tabwidget 中的 qtabwidget 分隔符消失了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8501925/

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