Android 安卓-如何隐藏ActionBarCombat
我利用ActionBarCombat在不同的操作系统版本之间提供了一个兼容的ActionBar。一切正常,但我想让动作栏只显示在平板电脑上 根据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
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
,谢谢。这是一个很好的技巧。我通过应用主题样式来隐藏它。