ActionBarSherlock 4.0.2
This commit is contained in:
@@ -130,7 +130,13 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
|
||||
return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB);
|
||||
} else {
|
||||
return !ViewConfiguration.get(context).hasPermanentMenuKey();
|
||||
return !HasPermanentMenuKey.get(context);
|
||||
}
|
||||
}
|
||||
|
||||
private static class HasPermanentMenuKey {
|
||||
public static boolean get(Context context) {
|
||||
return ViewConfiguration.get(context).hasPermanentMenuKey();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -299,7 +305,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter
|
||||
*/
|
||||
public boolean showOverflowMenu() {
|
||||
if (mReserveOverflow && !isOverflowMenuShowing() && mMenu != null && mMenuView != null &&
|
||||
mPostedOpenRunnable == null) {
|
||||
mPostedOpenRunnable == null && !mMenu.getNonActionItems().isEmpty()) {
|
||||
OverflowPopup popup = new OverflowPopup(mContext, mMenu, mOverflowButton, true);
|
||||
mPostedOpenRunnable = new OpenOverflowRunnable(popup);
|
||||
// Post this for later; we might still need a layout for the anchor to be right.
|
||||
|
||||
@@ -417,9 +417,9 @@ public class ActionMenuView extends IcsLinearLayout implements MenuBuilder.ItemI
|
||||
final int size = v.getMeasuredWidth() + p.leftMargin + p.rightMargin;
|
||||
//UNUSED nonOverflowWidth += size;
|
||||
widthRemaining -= size;
|
||||
if (hasDividerBeforeChildAt(i)) {
|
||||
//if (hasDividerBeforeChildAt(i)) {
|
||||
//UNUSED nonOverflowWidth += dividerWidth;
|
||||
}
|
||||
//}
|
||||
nonOverflowCount++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,11 +9,12 @@ import com.actionbarsherlock.view.ActionProvider;
|
||||
import com.actionbarsherlock.view.MenuItem;
|
||||
import com.actionbarsherlock.view.SubMenu;
|
||||
|
||||
public class MenuItemWrapper implements MenuItem, android.view.MenuItem.OnMenuItemClickListener, android.view.MenuItem.OnActionExpandListener {
|
||||
public class MenuItemWrapper implements MenuItem, android.view.MenuItem.OnMenuItemClickListener {
|
||||
private final android.view.MenuItem mNativeItem;
|
||||
private SubMenu mSubMenu = null;
|
||||
private OnMenuItemClickListener mMenuItemClickListener = null;
|
||||
private OnActionExpandListener mActionExpandListener = null;
|
||||
private android.view.MenuItem.OnActionExpandListener mNativeActionExpandListener = null;
|
||||
|
||||
|
||||
public MenuItemWrapper(android.view.MenuItem nativeItem) {
|
||||
@@ -262,24 +263,30 @@ public class MenuItemWrapper implements MenuItem, android.view.MenuItem.OnMenuIt
|
||||
@Override
|
||||
public MenuItem setOnActionExpandListener(OnActionExpandListener listener) {
|
||||
mActionExpandListener = listener;
|
||||
//Register ourselves as the listener to proxy
|
||||
mNativeItem.setOnActionExpandListener(this);
|
||||
|
||||
if (mNativeActionExpandListener == null) {
|
||||
mNativeActionExpandListener = new android.view.MenuItem.OnActionExpandListener() {
|
||||
@Override
|
||||
public boolean onMenuItemActionExpand(android.view.MenuItem menuItem) {
|
||||
if (mActionExpandListener != null) {
|
||||
return mActionExpandListener.onMenuItemActionExpand(MenuItemWrapper.this);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemActionCollapse(android.view.MenuItem menuItem) {
|
||||
if (mActionExpandListener != null) {
|
||||
return mActionExpandListener.onMenuItemActionCollapse(MenuItemWrapper.this);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
//Register our inner-class as the listener to proxy method calls
|
||||
mNativeItem.setOnActionExpandListener(mNativeActionExpandListener);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemActionCollapse(android.view.MenuItem item) {
|
||||
if (mActionExpandListener != null) {
|
||||
return mActionExpandListener.onMenuItemActionCollapse(this);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemActionExpand(android.view.MenuItem item) {
|
||||
if (mActionExpandListener != null) {
|
||||
return mActionExpandListener.onMenuItemActionExpand(this);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ public class MenuMule implements Menu {
|
||||
|
||||
|
||||
private final com.actionbarsherlock.view.Menu mMenu;
|
||||
public boolean mDispatchShow = false;
|
||||
|
||||
public MenuMule(com.actionbarsherlock.view.Menu menu) {
|
||||
mMenu = menu;
|
||||
|
||||
Reference in New Issue
Block a user