Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓-如何隐藏ActionBarCombat_Android_Android Layout - Fatal编程技术网

Android 安卓-如何隐藏ActionBarCombat

Android 安卓-如何隐藏ActionBarCombat,android,android-layout,Android,Android Layout,我利用ActionBarCombat在不同的操作系统版本之间提供了一个兼容的ActionBar。一切正常,但我想让动作栏只显示在平板电脑上 根据Build.VERSION.SDK_INT和设备屏幕大小(size>=7英寸),我确定该设备是平板电脑 public class BaseActivity extends Activity { //........ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB

我利用ActionBarCombat在不同的操作系统版本之间提供了一个兼容的ActionBar。一切正常,但我想让动作栏只显示在平板电脑上

根据
Build.VERSION.SDK_INT
和设备屏幕大小(
size>=7英寸
),我确定该设备是平板电脑

public class BaseActivity extends Activity {
//........
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB
                    && isTablet()) {

                Log.d(Constants.LOG_TAG, "OK - display ActionBar");
                ActionBarHelper.createInstance(this);

            } else {
                Log.d(Constants.LOG_TAG, "Do not display ActionBar: SDK_INT: "
                        + Build.VERSION.SDK_INT); //
            }
//......
}
问题是,如果设备不是平板电脑,(因此,
ActionBarHelper.createInstance(this);
不会被调用,操作栏仍会显示。我不知道为什么

但是我注意到一件事,如果我在图形模式下打开main.xml布局文件,我会看到顶部显示的操作栏,但是当我在源代码模式下打开布局文件时,没有

你们知道怎么隐藏战斗吗?
谢谢。

您可能可以创建
ActionBarHelperDummy
扩展
ActionBarHelper
ActionBarHelperDummy
对它从
ActionBarHelper
继承的每个抽象函数都没有任何作用

这样,您将有一个具体的类扩展
ActionBarHelper
,而不做任何事情


然后在
ActionBarHelper.createInstance()
中,如果
Build.VERSION.SDK\u INT
,您将返回
ActionBarHelperDummy
,谢谢。这是一个很好的技巧。我通过应用主题样式来隐藏它。