【发布时间】:2015-08-09 01:05:05
【问题描述】:
当 a) 我在大屏幕上运行,以及 b) 运行 Honeycomb 或更高版本时,如何选择性地启用操作栏?
我有一个应用程序在小型设备上需要尽可能多的屏幕空间,所以我使用 android 主题 Theme_NoTitleBar 来摆脱标题栏。在 post-3.x 系统上,这也删除了我想要的操作栏。
但在平板电脑上,我希望有操作栏。我的代码看起来像这样(简化):
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.Window;
public class ActionBarTest extends Activity {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
protected void onCreate(Bundle state) {
super.onCreate(state);
if (Build.VERSION.SDK_INT >= 11)
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setTheme(android.R.style.Theme_NoTitleBar);
setContentView(R.layout.main);
}
}
但是,requestFeature() 调用无效。
另一个转折点:我仍然需要支持 Android 2.x 设备。
【问题讨论】:
-
您需要使用
Toolbar。示例如下:stackoverflow.com/a/31901651/3922207 别忘了通过清单设置应用主题。