关于隐藏ActionBar

隐藏ActionBar:

1.可以在 AndroidManifest.xml中加入以下代码。示例:

<application
         android:icon="@drawable/ic_launcher"
         android:label="@string/app_name">
         <activity
             android:label="@string/app_name"
             android:name=".MyActionBarActivity"
             <!-- 注意这行代码 -->
             android:theme="@android:style/Theme.Holo.NoActionBar">
             <intent-filter>
                 <actionandroid:name="android.intent.action.MAIN"/>

                 <categoryandroid:name="android.intent.category.LAUNCHER"/>
             </intent-filter>
         </activity>
     </application>

2.也可以通过代码的方式移除ActionBar,但是要这么做,要把清单文件中的Android:theme属性删除,否则会出现异常。

ActionBar actonBar = getActionBar();
//隐藏
actionBar.hide();
//显示
//actionBar.show();

注意:
如果在AndroidManifest.xml中定义了主题,把ActionBar给隐藏了。在程序运行时,如果执行getActionBar()方法,就会返回一个null。所以,一般情况下,总是通过编写代码的方式去控制ActionBar的显示和隐藏。
在我们使用actionBar.hide();方法是系统默认会将ActionBar占用的空间分配给界面,此时显示的界面将会重新绘制。
同样调用actionBar.show();时也会重新绘制界面。如果我们一个程序需要频繁的显示或者隐藏ActionBar的话,这样就不会有良好的效果。Google提供给一个属性可以让ActionBar浮在界面上,当然你可以让ActionBar的背景为透明,这样会有良好的体验效果。
如果使用一个主题(theme)来移除Activity上的ActionBar,那么窗口将不再会有ActionBar,因此在运行时也就没有办法来添加ActionBar——调用getActionBar()方法会返回null值。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值