Android AppCompat库没有';I don’我好像工作不正常
我一直遵循这一点,开始使用ActionBarCompat。我认为我做的每件事都是对的,但它并没有发挥应有的作用。我试图在操作栏中添加一个刷新按钮,但它看起来不像一个独立的图标,而是出现在溢出菜单中 下面是它的外观: res/menu/activity.xmlAndroid AppCompat库没有';I don’我好像工作不正常,android,android-actionbar,android-actionbar-compat,Android,Android Actionbar,Android Actionbar Compat,我一直遵循这一点,开始使用ActionBarCompat。我认为我做的每件事都是对的,但它并没有发挥应有的作用。我试图在操作栏中添加一个刷新按钮,但它看起来不像一个独立的图标,而是出现在溢出菜单中 下面是它的外观: res/menu/activity.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_refresh"
android:title="@string/action_refresh"
android:icon="@drawable/ic_action_refresh"
android:actionProviderClass="android.support.v7.widget.ShareActionProvider"
android:showAsAction="ifRoom"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
startSupportActionMode(暂时为空)
我知道我可能完全错了,但我只想在我的操作栏中添加一个刷新按钮。将菜单的xml更改为:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_refresh"
android:title="@string/action_refresh"
android:icon="@drawable/ic_action_refresh"
android:actionProviderClass="android.support.v7.widget.ShareActionProvider"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
app:title="@string/action_settings"/>
</menu>
您使用的是
android:showAsAction=“ifRoom”
,但是您必须将showAsAction
属性与自定义名称空间一起使用,在您的情况下,这是app
,因此Compat ActionBar可以使用它。您必须使用app:actionProviderClass=“android.support.v7.widget.ShareActionProvider”
,因为这些属性在Android框架中不存在,所以由支持库定义。与android:showAsAction
相同,您必须改用app:showAsAction
。
startSupportActionMode(new ActionMode.Callback() {
@Override
public boolean onPrepareActionMode(ActionMode arg0, Menu arg1) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onDestroyActionMode(ActionMode arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean onCreateActionMode(ActionMode arg0, Menu arg1) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onActionItemClicked(ActionMode arg0, MenuItem arg1) {
// TODO Auto-generated method stub
return false;
}
});
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_refresh"
android:title="@string/action_refresh"
android:icon="@drawable/ic_action_refresh"
android:actionProviderClass="android.support.v7.widget.ShareActionProvider"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
app:title="@string/action_settings"/>
</menu>