Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:我能';不要制作collapseActionView_Android_Android Menu - Fatal编程技术网

Android 安卓:我能';不要制作collapseActionView

Android 安卓:我能';不要制作collapseActionView,android,android-menu,Android,Android Menu,我想做这样的东西: 我尝试在折叠视图和操作栏中创建弹出菜单。但我尝试了我在互联网上找到的所有东西,却没有找到解决方案。我不需要支持低于15的android api 这是main.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_settings" android:orderInCateg

我想做这样的东西:

我尝试在折叠视图和操作栏中创建弹出菜单。但我尝试了我在互联网上找到的所有东西,却没有找到解决方案。我不需要支持低于15的android api

这是main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item android:id="@+id/action_search"
          android:icon="@android:drawable/ic_dialog_email"
          android:title="@string/hello_world"
          android:showAsAction="always|collapseActionView"
          />
    <item android:id="@+id/action_compose"
          android:icon="@android:drawable/btn_star"
          android:title="@string/hello_world" 
          android:showAsAction="never"
          />
    <item android:id="@+id/action_compose2"
          android:icon="@android:drawable/btn_star"
          android:title="@string/hello_world" 
          android:showAsAction="never"
          />
</menu>

如果我理解正确,您希望通过单击
按钮打开
Android弹出菜单
。然后,您所要做的就是将其添加到您的
main活动中:

 button1 = (Button) findViewById(R.id.button1);  
      button1.setOnClickListener(new OnClickListener() {  

       @Override  
       public void onClick(View v) {  
        //Creating the instance of PopupMenu  
        PopupMenu popup = new PopupMenu(MainActivity.this, button1);  
        //Inflating the Popup using xml file  
        popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());  

        //registering popup with OnMenuItemClickListener  
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {  
         public boolean onMenuItemClick(MenuItem item) {  
               int i = item.getItemId();
                        if (i == R.id.id1) {
                            //do something
                            return true;
                        }
                        else if (i == R.id.id2){
                            //do something
                        }
                        else if (i == R.id.id3) {
                            //do something
                            return true;
                        }
                        else if (i == R.id.id4) {
                            //do something
                            return true;
                        }else {
                            return onMenuItemClick(item);
                        }
        });  

        popup.show();//showing popup menu  
       }  
      });//closing the setOnClickListener method  
     }  

谢谢你的回答,我发现很高兴能帮助你:)我有一个家伙和这个问题有关。android的用途是什么:showAsAction=“always | collapseActionView”。我回答我的问题
 button1 = (Button) findViewById(R.id.button1);  
      button1.setOnClickListener(new OnClickListener() {  

       @Override  
       public void onClick(View v) {  
        //Creating the instance of PopupMenu  
        PopupMenu popup = new PopupMenu(MainActivity.this, button1);  
        //Inflating the Popup using xml file  
        popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());  

        //registering popup with OnMenuItemClickListener  
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {  
         public boolean onMenuItemClick(MenuItem item) {  
               int i = item.getItemId();
                        if (i == R.id.id1) {
                            //do something
                            return true;
                        }
                        else if (i == R.id.id2){
                            //do something
                        }
                        else if (i == R.id.id3) {
                            //do something
                            return true;
                        }
                        else if (i == R.id.id4) {
                            //do something
                            return true;
                        }else {
                            return onMenuItemClick(item);
                        }
        });  

        popup.show();//showing popup menu  
       }  
      });//closing the setOnClickListener method  
     }