操作栏中的 Android 操作按钮没有出现?

标签 android android-actionbar action-menu

我想在操作栏中创建一个添加按钮,但当我运行您的代码时它似乎没有出现。

这是我的ma​​in_activity.java

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment()).commit();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.main_activity_actions, menu);
            return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_add) {

            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container,
                    false);
            return rootView;
        }
    }

}

这是我的ma​​in_activity_actions.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/action_add"
          android:icon="@drawable/ic_add"
          android:title="Add"
          android:showAsAction="always"
           />

</menu>

请帮忙 我不知道出了什么问题!

最佳答案

由于您的 Activity 扩展了 ActionBarActivity,您将使用支持库中的 AppCompat。

所以改成

<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_add"
      android:icon="@drawable/ic_add"
      android:title="Add"
      yourapp:showAsAction="always"
       />
    ...
</menu>

引用文档

Notice that the showAsAction attribute above uses a custom namespace defined in the tag. This is necessary when using any XML attributes defined by the support library, because these attributes do not exist in the Android framework on older devices. So you must use your own namespace as a prefix for all attributes defined by the support library.

关于操作栏中的 Android 操作按钮没有出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385126/

相关文章:

delphi - 隐藏 TActionMainMenuBar?

android - Listview 快速滚动时跳到底部

android - jquery mobile + phonegap 构建中的 Youtube iframe

android - 有任何 ActionBar 可见性更改事件监听器

Android - 使用 Theme.AppCompat 不显示操作栏

android - 将进度条放在元素上

android - 增加选项卡布局中选项卡的宽度

android - showAsAction ="ifRoom"即使有足够的空间也不显示项目

android - 如何让 Action 模式与 ListView 一起工作