Android - 在xml中隐藏材质主题中的操作栏

时间:2015-07-31 15:58:49

标签: android android-5.0-lollipop material-design

我使用的是继承自"android:Theme.Material.Light"的主题,但无法找到隐藏xml样式自定义操作栏的方法。使用"Theme.AppCompat.Light"时,我可以使用类似的内容

<style name="MyTheme" parent="Theme.AppCompat.Light">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>

如何使用素材主题获得类似的结果?我知道你可以通过编程方式隐藏它但不仅不方便,因为你无法在每次运行app时实际看到Android studio上的真实布局,而且,当你执行时,操作栏仍会出现一秒钟运行应用程序,在getActionBar().hide()运行之前,它看起来真的不专业。

SOLUTION:

<style name="MyTheme" parent="android:Theme.Material.Light">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
</style>

3 个答案:

答案 0 :(得分:3)

 <style name="NoActionBar" parent="_AppTheme">
        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:windowNoTitle">true</item>
    </style>

然后将样式应用于清单中的Activity,如下所示:

<activity
            android:name=".youractivity"
            android:theme="@style/NoActionBar" > 

然后如果你的java类扩展ActionBarActvity修复它以扩展Activity,你也必须改变所有其他的Acivity来扩展Activity类而不是ActionBarActivity:)

我希望这会对你有所帮助:)。

答案 1 :(得分:3)

<style name="MyTheme" parent="android:Theme.Material.Light.NoActionBar">

答案 2 :(得分:0)

好吧,我来晚了,但是如果有人对此感兴趣,这就是我的解决方法。

我需要继承一个可见操作栏的主题,所以不要使用theme.NoActionBar。

看看系统主题,这是我发现的内容:

<style name="MainTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>