我想在我的应用程序中隐藏标题栏(显示活动磁贴的位置)。我这样做是将android:windowNoTitle
项设置为true
。这适用于API级别为19的设备。我使用运行API级别10的设备对其进行了测试,它只隐藏了通知栏。瓷砖栏仍然显示。
这是我的res/values/styles.xml
<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
编辑:我在我的清单中使用AppBaseTheme
作为主题。任何其他value-vXX文件夹中没有其他styles.xml文件。
编辑#2:我正在为我的活动延长ActionBarActivity
。
答案 0 :(得分:11)
尝试使用此
symbols
删除android前缀!
答案 1 :(得分:1)
我为所有设备使用1个主题,它在API级别8到16上完美运行(因为我只有5个物理设备)。我确定它也在17-19设备上工作。
确保在你的清单文件中(在应用程序部分中),有一行像android:theme =&#34; @ style / AppTheme&#34;
尝试将此用作主题:
<style
name="AppBaseTheme"
parent="android:style/Theme.NoTitleBar.Fullscreen"
>
<item name="android:windowNoTitle">true</item>
...
</style>
删除values-xy
文件夹
<强> [编辑] 强>
由于AppCompat主题不是全屏,因此根据定义,StatusBar将会消失,而不是TitleBar
如果您不需要AppCompat提供的ActionBar,那么您应该尽快摆脱AppCompat:不要使用unneeded
和{{1}来肆虐您的应用事情
例如,我有一个Header Bar和一个Footer Bar,但这些只是我实现自己的RelativeLayouts。
并且仍然可以自由使用整个屏幕表面。
答案 2 :(得分:0)
我在styles.xml中尝试了Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
,但我得到了:
styles.xml
所以我遵循建议坚持AppCompat主题,并可以使用<resources>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>
中的以下行隐藏状态栏和操作栏:
new AsyncTask<Void,Void,String>(){
@Override
protected String doInBackground(Void... params) {
myDbHelper2 = new DataBaseHelpername(YourActivity.this.getApplicationContext());
myDbHelper2= new DataBaseHelpername(YourActivity.this);
try {
myDbHelper2.createDataBase();
}
catch (IOException ioe) {
throw new Error("Unable to create database");
}
try {
myDbHelper2.openDataBase();}
catch (SQLException sqle) {
sqle.printStackTrace();
}
db = myDbHelper2.getReadableDatabase();
mCursor= db.rawQuery("SELECT field_translation_fa_value,my_id FROM name WHERE my_id ="+id+" ;",null);
mCursor.moveToFirst();
String ff=mCursor.getString(0);
return ff;
}
@Override
protected void onPostExecute(String ff) {
super.onPostExecute(s);
txtmatnfa.setText(ff);
}
}.execute();