隐藏操作栏3个点,但显示项目

时间:2017-08-08 15:45:09

标签: android xml android-toolbar

我遇到的问题是我的操作栏中有2个项目(一个'刷新'按钮和一个'保存'按钮,但由于某种原因它们没有显示,而是嵌套在选项菜单中(3个点)谁有人知道如何删除3点菜单并显示我的2项?我已经尝试了很多东西但最终我最终删除了所有这三项。提前致谢。

这是我的代码

add_event_action.xml(这是我的菜单xml)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/action_refresh"
    android:showAsAction="always"
    android:icon="@drawable/ic_action_refresh"
    android:title="Refresh"/>

<item
    android:id="@+id/action_save"
    android:showAsAction="always"
    android:title="@string/save"/>
</menu>

这是我的Java类

public class RandomActivity extends AppCompatActivity {

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

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.add_event_action, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            // action with ID action_refresh was selected
            case R.id.action_refresh:
                Toast.makeText(this, "Refresh selected", Toast.LENGTH_SHORT)
                        .show();
                break;
            // action with ID action_settings was selected
            case R.id.action_save:
                Toast.makeText(this, "Save selected", Toast.LENGTH_SHORT)
                        .show();
                break;
            default:
                break;
        }

        return true;
    }
}

3 个答案:

答案 0 :(得分:4)

如果我理解正确,您的工具栏中需要两个菜单按钮。

这适用于我,将其放在menu.xml中:

<item
    android:id="@+id/done"
    android:title="@string/done"
    app:showAsAction="always|withText"/>

答案 1 :(得分:2)

尝试使用app:showAsAction代替android:showAsAction

答案 2 :(得分:1)

稍微扩展其他答案:

当您的活动延伸至AppCompatActivity时,您的菜单项应使用app:showAsAction。如果您的活动没有(也就是说,当您不使用AppCompat支持库时),您的菜单项应使用android:showAsAction

文档:http://tools.android.com/tips/lint-checks

  

AppCompatResource

     

摘要:菜单命名空间

     

优先级:5/10   严重性:错误   类别:正确性

     

使用appcompat库时,菜单资源应参考   showAsAction命名空间中的app:,而不是android:命名空间。

     

同样,当不使用appcompat库时,您应该使用android:showAsAction属性。