如何以编程方式设置选项卡的位置?

发布于 2024-12-11 22:30:09 字数 155 浏览 0 评论 0原文

我正在使用 tab-host 开发一个示例应用程序,并且我已经实现了它。 这是我的问题吗?我将分步骤描述它。

  • 假设有 5 个选项卡,位置分别为 0、1、2、3、4。当我选择第四个选项卡时,应将其替换为第二个选项卡。

我该如何克服这个问题?

I am developing an sample application with tab-host,and i have achieved it.
And here is my problem? i will describe it in steps.

  • assume that there are 5 tabs with position 0,1,2,3,4.When i selected the fourth tab it should be replaced on second tab.

How can i overcome from this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疾风者 2024-12-18 22:30:09

如果我理解正确的话,那是很困难的

tabHost.setCurrentTab(index)

>编辑

您可以使选项卡不可见,

如下所示
如果你想在位置 0 处隐藏选项卡,则如下所示。

      tabWidget = (TabWidget) findViewById(android.R.id.tabs);
      tabWidget.getChildTabViewAt(0).setVisibility(View.GONE);

如果您想让它可见,则如下所示

 tabWidget.getChildTabViewAt(0).setVisibility(View.VISIBLE);

,但如果您想删除旧选项卡并将其替换为新选项卡。然后就不知道可不可以

It is strait forward if I understood you correctly

tabHost.setCurrentTab(index)

> EDITS

You can make your tab's invisible

as
if you want to invisible tab at position 0 then it is as follow.

      tabWidget = (TabWidget) findViewById(android.R.id.tabs);
      tabWidget.getChildTabViewAt(0).setVisibility(View.GONE);

If you want make it visible it is as follow

 tabWidget.getChildTabViewAt(0).setVisibility(View.VISIBLE);

but if you want to remove old tab and replace it with new. Then I don't know it is possible or not

单身狗的梦 2024-12-18 22:30:09

您应该尝试这样做:

FrameLayout frame = tabHost.getTabContentView();

View view1 = frame.getChildAt(pos1);
View view2 = frame.getChildAt(pos2);

frame.removeViewAt(pos1);
frame.addView(view2, pos1);

frame.removeViewAt(pos2);
frame.addView(view1, pos2);

这应该将 pos1 位置的选项卡与 pos2 位置的选项卡切换
我还没有检查过,但它应该有效:)

You should try this:

FrameLayout frame = tabHost.getTabContentView();

View view1 = frame.getChildAt(pos1);
View view2 = frame.getChildAt(pos2);

frame.removeViewAt(pos1);
frame.addView(view2, pos1);

frame.removeViewAt(pos2);
frame.addView(view1, pos2);

This should switch tab in pos1 position with tab in pos2 position
I have not checked it, but it should work :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文