【问题标题】:Android ActionBarSherlock style selected action itemAndroid ActionBarSherlock 风格选中的动作项
【发布时间】:2013-03-27 13:54:07
【问题描述】:

我有一个ViewPager 并且每个页面都显示一张照片。我展示了一个拆分 ActionBar 并使用了喜欢/不喜欢的操作,因此用户可以投票“喜欢”照片或“不喜欢”它。

我成功实现了每张照片的投票功能。

问题

如何为每张照片设置所选投票的样式?也就是说,如何根据照片的当前状态来管理MenuItem图标?

【问题讨论】:

    标签: android android-actionbar actionbarsherlock


    【解决方案1】:

    您应该创建一个boolean 来检测照片何时被点赞,然后在您的MenuItem 上调用setIcon

    final MenuItem liked = YOUR_MENU.findItem(THE_LIKED_ACTION_ID);
        if (isLiked()) {
            liked.setIcon(YOUR_LIKED_DRAWABLE);
        } else {
            liked.setIcon(YOUR_DEFAULT_LIKED_DRAWABLE);
        }
    
    mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                invalidateOptionsMenu();
            }
        });
    

    【讨论】:

    • 大声思考......因为它是一个具有一定数量页面的 ViewPager,我应该使用布尔数组吗?我还需要 invalidateOptionsMenu()?
    • A 进行了编辑,显示如何使用您的 ViewPager 调用 invalidateOptionsMenu,因为您需要调用它。就阵列而言,我想如果这是你想要的,你可以这样做。此外,您应该考虑删除“不喜欢”操作。它是重复的。如果用户不喜欢某张照片,他们就不会按“喜欢”按钮。
    • 附注:您知道 splitABS 底栏如何在操作按钮的顶部(上方)有一个水平分隔符。你知道我怎样才能摆脱那个分隔符吗?
    猜你喜欢
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多