我想要的是获取我的操作栏项目的视图,这样我就可以在确切的位置显示我的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;
}
我该怎么做才能解决它?
答案 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是您之前创建的快速操作的参考。