Vik*_*ngh 15 android statusbar android-manifest android-theme android-activity
我需要将我的一项活动称为MyNoStatusBarActivity.java全屏活动.
我在Manifest中添加了:
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:name=".MyNoStatusBarActivity"
android:noHistory="true"
android:label="@string/app_name"
android:configChanges="touchscreen|keyboard|keyboardHidden|navigation|orientation">
...
</activity>
Run Code Online (Sandbox Code Playgroud)
在onCreate我的活动中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
Run Code Online (Sandbox Code Playgroud)
这样做只是隐藏TITLE栏而不是STATUS栏.
此外,如果我在应用程序级别使用清单主题而不是我的活动,它可以工作,但我的应用程序的所有活动,这不是我想要的.我想只为一个特定的活动禁止状态栏.
帮助将非常感激.日Thnx!
PS:我很好,这种行为在Honeycomb/ICS中不再可用.我只需要2.2和2.3就可以了
编辑
尝试了SO中其他解决方案中提到的所有建议但尚未成功.应用于应用程序级别但不适用于活动级别时,主题可用.
我正在使用HTC WildFire-S,android ver 2.3.5
Neo*_*eoh 29
在您的清单xml中,在应用程序级别放置:
<application
...
android:theme="@android:style/Theme.NoTitleBar" >
</application>
Run Code Online (Sandbox Code Playgroud)
并且在你要全屏显示的活动中放置:
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
...
</activity>
Run Code Online (Sandbox Code Playgroud)
删除onCreate中的所有setWindowsFeature或setFlag方法.
我认为你只需要android:theme="@android:style/Theme.NoTitleBar.Fullscreen拿出主要的节日,坚持使用代码只调用它,它总是对我有用.您使用的是哪种测试设备?
在打电话之前,请确保这些电话都是setContentView(R.layout.xxx)这样
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.xxx);
Run Code Online (Sandbox Code Playgroud)
检查所有代码的android:theme声明,即清单和单个布局xml文件.因为它听起来像在应用程序级别声明它正在工作(因为它覆盖任何后续主题声明)但是有一些事情覆盖了您的活动级别请求.
尝试在整个项目中搜索"android:theme"并删除任何你不是100%确定需要的东西,以这种方式进行测试
| 归档时间: |
|
| 查看次数: |
86902 次 |
| 最近记录: |