我正在尝试添加ActionBar按钮,但无需为每个活动创建单独的.xml文件。这是代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, R.string.ic_refresh_str).setIcon(R.drawable.ic_action_refresh);
return true;
}
该按钮不会出现。如果我将代码修改为以下代码,它可以工作:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, R.string.ic_refresh_munawwat).setIcon(R.drawable.ic_action_refresh)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
但问题是android:minSdkVersion是7,这是我在setShowAsAction上得到的错误信息:
调用需要API级别11(当前最小值为7): android.view.MenuItem#setShowAsAction
如何添加动态按钮并继续支持minSdk 7?
答案 0 :(得分:0)
您可以尝试使用android-support-v4库或Actionbar Sherlock
答案 1 :(得分:0)
解决方案是使用已弃用的函数MenuCompat.setShowAsAction
@SuppressWarnings("deprecation")
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.add(0, 0, 0, R.string.ic_refresh_txt).setIcon(R.drawable.ic_action_refresh);
MenuCompat.setShowAsAction(item, 2);
return true;
}