我试图删除我的应用程序顶部的标题栏。
我知道这可以通过@android:style/Theme.NoTitleBar
在清单中添加来完成。问题是这使得 Holo 主题在 3.0+ 设备上消失了。无论如何我可以删除标题栏并保留原始主题吗?
-EDIT- Unforiunally,这条线@android:style/Theme.Holo.NoActionBar
需要 11 以上的 api 级别。
我试图删除我的应用程序顶部的标题栏。
我知道这可以通过@android:style/Theme.NoTitleBar
在清单中添加来完成。问题是这使得 Holo 主题在 3.0+ 设备上消失了。无论如何我可以删除标题栏并保留原始主题吗?
-EDIT- Unforiunally,这条线@android:style/Theme.Holo.NoActionBar
需要 11 以上的 api 级别。
您可以为不同的 API 级别指定不同的默认主题。
在 Android 中,您有目录values-v11
和values
. 第一个适用于所有 Android 3.0 及更高版本(如果未指定其他更高版本)。第二个是默认的。
在你styles.xml
的values-v11
定义中:
<style name="AppBaseTheme" parent="android:Theme.Holo.NoActionBar"></style>
并且styles.xml
在values
:
<style name="AppBaseTheme" parent="android:Theme.NoTitleBar"></style>
如果您放入清单android:theme="@style/AppBaseTheme"
的标签,您应该在 3.0+ 设备上保留 Holo 主题。<application>
在 onCreate() 中使用以下代码
if(android.os.Build.VERSION.SDK_INT>11)
setTheme(android.R.style.Theme.Holo.NoActionBar);
else
setTheme(android.R.style.Theme_DeviceDefault_NoActionBar);
你可以试试这个: -
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
...
}
在编写 setContentView() 之前使用以下方法
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
}