【问题标题】:How to maintain custom tab on screen and change class without redrawing the tab again?如何在屏幕上维护自定义选项卡并更改类而不重新绘制选项卡?
【发布时间】:2012-10-30 10:28:40
【问题描述】:

让我试着在这里让我的问题更清楚。假设我有一个通过在 XML 布局中使用按钮和图像创建的自定义选项卡,它看起来像这样。

这些按钮中的每一个都应该调用一个类。通常,Intent 用于在 onClick 时调用新类。但是当我通过 Intent 调用任何类时,整个布局都会重新绘制。

Intent intent1 = new Intent(TabBar.this, Favourites.class);
startActivity(intent1);

我尝试使用 TabHost 并且它有效,但我的项目要求我使用自定义标签栏。 我还尝试了这个Dynamically change view inside view in Android 的解决方案,这与我想要的类似(切换布局并维护其下方的标签栏),效果也很好。

我的目标是维护我拥有的自定义选项卡,并更改类而不是布局,而无需在每次单击每个按钮时重新绘制自定义选项卡栏。通过类,我可以运行不同的函数并调用不同的活动。

我在这方面搜索了很多,但似乎找不到解决方案或参考。有人可以指导我吗?提前致谢。

更新:

我是 Android 新手,在尝试了很多次之后,我决定尝试 AdilSoomro 的代码来实现我想要的,http://adilsoomro.blogspot.com/2011/06/iphone-like-tabs-in-android.html 这是创建看起来像 iPhone 选项卡的自定义选项卡。但是,此项目使用现在在 Android 4.1 中已弃用的 TabActivity。在参考了使用 Fragment 作为标签的其他来源后,我尝试将其更改为 FragmentActivity。

我设法使用 FragmentActivity 创建了它,您可以在这里参考它们: How to use custom iPhone tab in FragmentActivity?

【问题讨论】:

  • Hiii 用替换视图方法改变视图..
  • 嘿@hardikjoshi :) 对不起,我不太明白你的意思。你能解释更多吗?

标签: android android-layout android-intent android-tabs


【解决方案1】:

您可以使用TabHost 控件来实现这一点。通过这个post 它解释了所有的可能性。它还包括使用 xml 文件中定义的自定义选项卡栏。

【讨论】:

  • 您好,谢谢您的回复。如果我使用之前尝试过的 TabHost,这篇文章真的很有用。我可以用你给我的例子来改变图像等。现在,我的代码不使用 TabHost 和 TabWidget,这些选项卡完全使用按钮和图像创建。而我的项目要求我完全改变标签栏。
  • 嘿@Pargat 我别无选择,只能回到 TabHost 和 TabWidget,我得到了我想要的。谢谢! :)
【解决方案2】:

实现此目的的方法之一是创建页脚并将其用于所有活动。喜欢This。并根据您的要求告诉我它是否有用。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-03
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
相关资源
最近更新 更多