当从代码设置 tabwidget 背景时,tabwidget 中的 tabwidget divder 消失?
tabWidget 中的分隔线工作正常,但是当设置选项卡小部件的背景时,
tabHost.getTabWidget().getChildTabViewAt(tabId).setBackgroundResource(R.drawable.tab_indicator);
问题是如何在设置背景后在选项卡小部件中设置分隔线 虽然我使用的
tabhost.getTabWidget().setDividerDrawable(R.drawable.tab_widget_divider);
是不适用于多个选项卡。
divider in tabWidget is working fine but when background of tab widget is set like
tabHost.getTabWidget().getChildTabViewAt(tabId).setBackgroundResource(R.drawable.tab_indicator);
problem is how to set divider in tab widget after setting background
though i used
tabhost.getTabWidget().setDividerDrawable(R.drawable.tab_widget_divider);
is does not work for multiple tab.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
分隔线未显示的原因可能有多种...
1.在将选项卡添加到 tabHost 之前,必须使用 setDividerDrawable() 才能工作。
2.默认情况下,每个 tabindicator 的视图设置有 -2(左)、-2(右)边距...
默认情况下,系统使用 9 块可绘制的 tabWidget 背景,至少有 2 个像素左透明(或半透明的阴影效果)到左侧和右侧。
1.演示
2.用于选项卡小部件背景的库存 9 路径绘图。您可以使用它们进行实验
如果您不想使用 9 路径绘图...
您可以将边距设置为 0,以防止选项卡视图与分隔线重叠。这是代码:
There may be multiple reasons for the dividers not showing up...
1. setDividerDrawable() must be used before you add the tabs to the tabHost to work.
2. By default there's are -2(left), -2(right) margins set to each tabindicator's View...
By default the system is using 9-patch drawables for tabWidget backgrounds with at least 2 pixels left transparent(or semi-transparent for shadow-effect) to the left and the right side.
1. demonstration
2. Stock 9-path drawables for tab widget background. You can use these for experimenting
If you don't wan't to use 9-path drawables...
you can set the margins to 0 to prevent the tab views overlapping your divider. Here's the code: