怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?

Android 码拜 10年前 (2015-04-24) 1192次浏览 0个评论
 

怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?

怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
40分
在activity里用代码setTheme重新设置主题为有actionbar
缺点是会先一瞬间一片白(没actionbar时)再显示自己新设置的actionbar
怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
没有办法在应用了NoActionBar主题的情况下用代码创建ActionBar吗?
怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
引用 1 楼 inquisitive_plus 的回复:

在activity里用代码setTheme重新设置主题为有actionbar
缺点是会先一瞬间一片白(没actionbar时)再显示自己新设置的actionbar

没有办法在应用了NoActionBar主题的情况下用代码创建ActionBar吗?

怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
引用 3 楼 aa6103848252 的回复:

没有办法在应用了NoActionBar主题的情况下用代码创建ActionBar吗?

我的回复不就是一种方法么……manifest里应用了主题,但是setTheme可以覆盖它,然后再getActionBar
或者你用自定义actionbar

怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
引用 4 楼 inquisitive_plus 的回复:
Quote: 引用 3 楼 aa6103848252 的回复:

没有办法在应用了NoActionBar主题的情况下用代码创建ActionBar吗?

我的回复不就是一种方法么……manifest里应用了主题,但是setTheme可以覆盖它,然后再getActionBar
或者你用自定义actionbar

可是我用的是自定义的主题,继承的NoActionBar的
<style name=”AppTheme” parent=”android:Theme.DeviceDefault.Light.NoActionBar”>
……
</style>
如果用setTheme不是要写一个新的主题?

怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
引用 5 楼 aa6103848252 的回复:

可是我用的是自定义的主题,继承的NoActionBar的
<style name=”AppTheme” parent=”android:Theme.DeviceDefault.Light.NoActionBar”>
……
</style>
如果用setTheme不是要写一个新的主题?

setTheme仅对当前activity有用……其他的依然是notactionbar
那你自定义actionbar吧

怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
引用 6 楼 inquisitive_plus 的回复:
Quote: 引用 5 楼 aa6103848252 的回复:

可是我用的是自定义的主题,继承的NoActionBar的
<style name=”AppTheme” parent=”android:Theme.DeviceDefault.Light.NoActionBar”>
……
</style>
如果用setTheme不是要写一个新的主题?

setTheme仅对当前activity有用……其他的依然是notactionbar
那你自定义actionbar吧

我貌似找到了和这个有关的东西,和Window.FEATURE_NO_TITLE有关系
只要把Window.FEATURE_NO_TITLE改成false就可以出现actionbar了
但是requestWindowFeature(Window.FEATURE_NO_TITLE)只能添加这个Feature,有没有去除Feature的办法呢?
我试了getWindow().setFeatureInt(Window.FEATURE_NO_TITLE,0);但是没用呢

怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
引用 7 楼 aa6103848252 的回复:

我貌似找到了和这个有关的东西,和Window.FEATURE_NO_TITLE有关系
只要把Window.FEATURE_NO_TITLE改成false就可以出现actionbar了
但是requestWindowFeature(Window.FEATURE_NO_TITLE)只能添加这个Feature,有没有去除Feature的办法呢?
我试了getWindow().setFeatureInt(Window.FEATURE_NO_TITLE,0);但是没用呢

如同我前面说的用setTheme
在style文件里写:
<style name=”notitle” parent=”@android:Theme.Light”>parent能让你继承之前的配置
        <item name=”android:windowNoTitle”>false</item>//看你需求
        <item name=”android:windowActionBar”>false</item>
</style>
然后setTheme时引用


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么在应用了NoActionBar主题的情况下用代码创建ActionBar?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!