0

我已经成功地将我的应用程序编译成一个 apk 文件,并部署到我的 Android 设备上。

但是当我在那里运行它时,通知栏是存在的,我希望它是全屏的,没有通知栏。

这是屏幕顶部的栏,显示电池使用情况、wifi/3G 连接、新电子邮件图标等。

我们如何在使用 Sencha Touch 2 编译的应用程序中隐藏它?

我在加载的第一个视图(登录屏幕)的配置中设置了 fullscreen: true ,并且还设置了:

Ext.application({
   viewport: {
      autoMaximize: true
   }
});
4

3 回答 3

2

你可以在你的 AndroidManifest.xml 中改变它:

<application>
  <activity
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
  </activity>
  ...
</application>
于 2012-06-27T23:56:42.163 回答
1

您实际上可以修改 SenchaCmd 中的 AndroidManifest.xml 模板来获取此信息,如Sencha 论坛中所述。

该文件将在Sencha/Cmd/<CmdVersion>/stbuild/st-res/android/AndroidManifest.xml. 您需要application像这样在标签上设置主题属性:android:theme="@android:style/Theme.NoTitleBar"

整个标签看起来像:

<application android:icon="@drawable/icon" android:label="%s" android:theme="@android:style/Theme.NoTitleBar">

然而,这个解决方案仍然非常糟糕,我很想看到在不修补 Sencha 代码的情况下可以工作的东西。

于 2013-11-05T15:16:50.363 回答
0

只需添加这个以使屏幕全屏this.setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);之前super.onCreate(savedInstanceState);

或者

添加this.requestWindowFeature(Window.FEATURE_NO_TITLE);this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)之前setContentView

例如:

@Override
public void onCreate(Bundle savedInstanceState){
/**sets Theme and Style (must be set BEFORE super.onCreate)*/
this.setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

或者

@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
/**Changes Window. Removes title and/or notification bar (must be set BEFORE setContentView)*/
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);

(或者你可以像 homer_simpson 所说的那样通过 Manifest 来做到这一点。)

于 2012-06-27T23:55:51.067 回答