android - 如何删除仅适用于平板电脑的横向 ActionBar 选项卡

标签 android android-actionbar android-orientation

我目前正在编写一个使用 ActionBar 选项卡进行导航的应用程序。当设备处于纵向模式时,用户可以从两个选项卡中进行选择,每个选项卡都有一个关联的 fragment 。当平板电脑切换到横向时,我希望这些选项卡消失,因为我有一个为横向定义的两个 Pane 布局,其中每个 Pane 都包含一个 fragment 。我知道在切换期间会重新创建 Activity,因此我可以通过仅在方向为纵向时在我的 OnCreate 中创建选项卡来在代码中实现此目的。但是,两个 Pane 布局仅用于平板电脑(我在 layout-large-land 中定义了它)。对于横向手机,应使用带有选项卡的单 Pane 布局。有没有一种方法可以编写类似“仅在两个 Pane 布局文件被放大时使用选项卡”之类的代码,即选项卡仅应在设备为平板电脑且处于横向模式时出现。

最佳答案

将 bool 变量添加到 values-large-land 中的资源并将其设置为 true,然后在代码中使用它来设置选项卡:

boolean isDualPane = getResources().getBoolean(R.boolean.dualPane);
if(!isDualPane) {
 setupActionBarTabs();
}

关于android - 如何删除仅适用于平板电脑的横向 ActionBar 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16502443/

相关文章:

java - 操作栏 : Center text on navigation bar buttons

android - 即使在 android :configChanges is specified? 时,应用程序也会重新创建

android - 在 Android 中的方向更改之间保留数据的最佳方法

android - Android 屏幕方向改变时屏幕闪烁?

android - 我如何在不使用对话框的情况下在操作栏上方显示 View ?

android - 为 ViewPager 中的每个 fragment 单独添加 ActionItem

android - 带有按钮背景和 Activity 布局的 If 语句

android - 如何使用数组列表中的数据填充自定义布局 ListView

android - 如果父 fragment 被移除,FragmentStatePagerAdapter 不会移除 fragment

android - 在 DialogFragment 中为 AlertDialog 膨胀自定义 View 时出现问题