当你使用[app_name] showAsAction="always"报错:
Should use android:showAsAction when not using the appcompat library
但是你已经引入appcompat-v7包布局文件 [app_name]xmlns:e="http://schemas.android.com/apk/res-auto">
android:id="@+id/menu_actionbar_home"
android:icon="@drawable/android_search_button_icon"
app_name:showAsAction="always"
依然报错 xml文件报错 编译不成功
提示:
Should use android:showAsAction when not using the appcompat library
楼主觉得应该是编译版本的问题,但是改了版本之后依然不好用,楼主才疏学浅,谁如果知道根本原因,望不吝赐教,万分感谢
楼主前天也是遇见这种问题,百思不得其解,然后再网上各种搜索方法,然后在外国一个网站上找到答案
这里楼主吐槽一下:中国的技术论坛好多都是拷贝粘贴,然后各种雷同,能解决的问题真的不多;话不多说直接上解决方法
解决方法:
app_name:title="二维码"app_name:showAsAction="always"报错 直接编译不了
所以就改成android::showAsAction="always"
然后你在重写
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.actionbar_psersonal_menu, menu);
for (int j = 0; j < menu.size(); j++) {
MenuItem item = menu.getItem(j);
item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
}
这就是app_name:showAsAction="always的作用,因为楼主用的是两个所以就循环,这代码可以自己修改,就是在java代码实现
app_name:showAsAction="always这个效果;
如果你的android:minSdkVersion<14
问题就来了 编译的时候又来了Call requires API level 14 (current min is 11): android.view.MenuItem#setShowAsActionFlags
这就是然后你引入@SuppressLint("NewApi")就好了
如果大于等于14则没影响