【问题标题】:Observable/LiveData of ActionBar visibility?ActionBar 可见性的 Observable/LiveData?
【发布时间】:2019-02-08 15:00:29
【问题描述】:

我正在尝试查看是否可以创建一个 observable,它会在操作栏可见性发生变化时发出通知。

某种意义上的东西

LiveData<Boolean> actionBarVisibility;

以便在显示/隐藏 actionBar 时更新其他 UI? 我找到了这个little trick 来识别视图可见性更改事件,但无法弄清楚如何将它应用到 actionBar,因为我无法访问它的视图。

【问题讨论】:

    标签: android android-architecture-components android-livedata


    【解决方案1】:

    是的,你可以观察布尔的状态!

    ViewModel 内部

    var isActionBarVisible: MutableLiveData<Boolean> = MutableLiveData()
    

    设置可见性

    isActionBarVisible.postValue(true)
    

    设置隐形

    isActionBarVisible.postValue(false)
    

    ====

    内部视图ActivityFragment

    viewProvider!!.isActionBarVisible.observe(this, Observer {
            if (it!!) {
                // on visible of action bar
            } else {
               // on invisible of action bar
            }
        })
    

    【讨论】:

    • 对不起,但这不是我问的问题 - 观察布尔值很简单,我同意,我如何挂钩到活动的 ActionBar,以便在可见性实际发生变化时更新该值?
    猜你喜欢
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多