如何获取操作项的视图?

时间:2012-11-28 18:23:20

标签: android android-actionbar actionbarsherlock android-view

我想要的是获取我的操作栏项目的视图,这样我就可以在确切的位置显示我的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;
}

我该怎么做才能解决它?

1 个答案:

答案 0 :(得分: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是您之前创建的快速操作的参考。