回答
与Android的好处是你想要做的应该是可能的,几乎所有的东西。如果我们要改变你的XML,我们将其更改为类似:
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs_top"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1" />
<TabWidget
android:id="@android:id/tabs_bottom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0" />
</LinearLayout>
</TabHost>
请注意,我已经改变了TabWidgets的ID的。
这只是问题的一半。另一半是如何改变核心类TabHost
的源代码以适应此更改。
您可以查看原始TabHost
here的来源。查看源代码,很明显,代码只有一个mTabWidget,并使用非常特定的ID = tabs
(com.android.internal.R.id.tabs
)进行初始化。我们更改了ID,所以我们应该留意这一点。
那么,我们该如何改变原始来源呢?一种方法是创建我们自己的类并扩展核心TabHost。这并不容易,因为原始TabHost中的一半功能和成员是private
(为什么它们不是protected
?!?)。无论如何,因为你有源代码,而且非常简单,所以可以这么做。
比方说,您的新扩展的类是MyTabHost
(可能将其放置在同一个包的原始TabHost只是让你可以访问变量/功能,这都没有private
或public
),那么你可以在XML字替代TabHost
与MyTabHost
或com.yourpackage.MyTabHost
实际),然后你的课程将用于XML而不是原来的。
从源代码看,很明显这个功能默认不支持。但是 - 我认为,如果你真的想要做到这一点,你可以看到一种方式。
感谢很多家伙。 5 *答案[[]] –
- 1. 是否可以使用Google Maps API创建“闪屏”屏幕?
- 2. 是否可以在Android屏幕上模拟点击?
- 3. Android:是否可以在呼叫屏幕上添加功能?
- 4. 是否可以在主屏幕上隐藏APP图标(Cordova - AngularApp)
- 5. 是否可以在AutoCad中以编程方式创建标签?
- 6. 是否可以创建比屏幕更大的窗口?
- 7. 是否可以创建锁定屏幕功能?
- 8. Android |主屏幕上的书签图标
- 9. Subversion(和TortoiseSVN):是否可以直接从现有标签创建标签?
- 10. iOs And Android:在主屏幕上通过javascript创建书签-shortcut-
- 11. bottom-top TileLayout
- 12. ListView Bottom To Top
- 13. Emacs:Combine iseach-forward和recenter-top-bottom
- 14. 是否可以在<select>标签内创建表格?
- 15. 是否可以在xcode中创建一个新的标签行?
- 16. 是否可以在画布标签内创建下拉菜单
- 17. 是否可以在Android的屏幕和通过HDMI连接的屏幕上显示不同的内容?
- 18. 是否可以使用display:table标签创建嵌套标头?
- 19. 如何模拟/创建css overflow-top和overflow-bottom?
- 20. 是否可以在屏幕上获得一种颜色的鼠标坐标?
- 21. 是否有可能在iOS的初始屏幕上添加标签?
- 22. 是否可以在android中将TabActivity选项卡图标放在屏幕底部?
- 23. 是否可以在Xamrin中创建几个屏幕,然后在iOS和Android项目中导入它们?
- 24. 编程方式创建的标签和图像不显示在屏幕上
- 25. 是否可以刷新inCall屏幕?
- 26. console textarea bottom to top
- 27. 在屏幕底部有标签的Android?
- 28. 创建Android帮助屏幕
- 29. 是否可以在iPad屏幕上嵌入多个MoviePlayer实例?
- 30. 是否可以创建一个停靠在屏幕顶部的应用程序?
当然。在两端扔一个TabView。现在让他们正确行动可能需要额外的工作。 –
请为您的问题提供更多信息,您是否尝试在顶部和底部使用不同的选项卡,或者只使用两个具有相同选项卡的酒吧? –
我试图复制我的TabWidget,但没有做到这一点。你可以请更具体吗?谢谢 –