【问题标题】:How to get BottomNavigation item view reference for TapTargetView如何获取 TapTargetView 的 BottomNavigation 项目视图参考
【发布时间】:2017-06-18 02:38:50
【问题描述】:

我有一个底部导航视图,我正在使用 TapTargetView 库来指导用户如何使用某些功能。如果我通过底部导航视图,那么 TapTargetView 将突出显示我不想要的整个底部栏。

我的问题是如何在底部导航视图中突出显示特定项目?

TapTargetView.showFor(this, TapTarget.forView(findViewById(R.id.home), "Home page", "We have cool features for you"),
new TapTargetView.Listener() {
    @Override
    public void onTargetClick(TapTargetView view) {
        super.onTargetClick(view);
        itemClicked();
    }
});

谢谢。

【问题讨论】:

    标签: android bottomnavigationview


    【解决方案1】:

    我找到了解决办法,就是这样:

    BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
    TapTargetView.showFor(this, TapTarget.forView(bottomNavigationView.findViewById(R.id.home), "Home page", "We have cool features for you"),
            new TapTargetView.Listener() {
                @Override
                public void onTargetClick(TapTargetView view) {
                    super.onTargetClick(view);
                    itemClicked();
                }
            });
    

    【讨论】:

    • 最好能显示 R.id.home 的定义位置,它是菜单项 id 吗?
    • @androidguyit 是菜单 ID,但它看起来像被我切碎了
    • @dave 知道如何让视图填满整个底部导航,而不是像显示其他项目标题那样购物
    【解决方案2】:

    我还没有真正尝试过,但我认为这应该可以工作

    TapTargetView.showFor(this, TapTarget.forView(YOURBOTTOMNAVIGATIONVIEW.getChildAt(YOUR VIEW POSITION), "Home 
    page", "We have cool features for you"),
    new TapTargetView.Listener() {
    @Override
    public void onTargetClick(TapTargetView view) {
        super.onTargetClick(view);
        itemClicked();
    }
    });
    

    【讨论】:

    • 感谢您的回答,我试过了,但没有成功... TapTargetView 高亮显示未在屏幕上显示
    • 视图是否为空?
    • 我不认为视图为空,否则应用程序会立即崩溃,但在我的情况下,应用程序运行良好,但突出显示根本没有显示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 2015-07-07
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多