1

我想要做的是查看我的操作栏项目,这样我就可以在确切的位置显示我的 QuickActionDialog。我试过这个,但我的快速操作对话框出现在操作栏上方的屏幕左上角(以及我的项目/按钮上方)。

getSherlockActivity().getSupportActionBar().setCustomView(createCustomItemView(R.drawable.ic_add));         
questionPup.show(getSherlockActivity().getSupportActionBar().getCustomView());


public View createCustomItemView(int resId) {
    Drawable icon = getResources().getDrawable(resId);
    ImageView iconView = new ImageView(getSherlockActivity());
    iconView.setImageDrawable(icon);
    return iconView;
}

我能做些什么来解决它?

4

1 回答 1

0

在您的活动中保留对 iconView 的引用;

    ImageView iconView = null;

    public View createCustomItemView(int resId) {
        if (this.iconView == null) {
            Drawable icon = getResources().getDrawable(resId);
            this.iconView= new ImageView(getSherlockActivity());
            this.iconView.setImageDrawable(icon);
        }
        return this.iconView;
    }

然后你应该可以打电话:

mActionBarQuickAction.show(iconView);

无论何时,iconView 将充当锚点(mActionBarQuickAction 是您对之前创建的快速操作的引用。

于 2012-11-28T18:39:09.167 回答