2014-02-14 1 views
2

을 할 수 없습니다 나는 그런 식으로 뭔가를 만들고 싶어 :안드로이드 : 나는 collapseActionView

gmail menu collapsible

내가 팝업 메뉴가 collapseview, Y 작업 표시 줄 엉 만들려고. 하지만 나는 인터넷에서 찾은 모든 것을 시도하고 해결책을 찾지 못했습니다. 나는 15

보다 적은 이것을 main.xml에를 suppoart 안드로이드 API를 필요 didnt는

<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 Popup Menu을 열려면 제대로 이해하면

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ActionBar a = getActionBar(); 
     a.setTitle("Mariano"); 


    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu items for use in the action bar 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.main, menu); 
     MenuItem menuItem = menu.findItem(R.id.action_search); 

     MenuItemCompat.setOnActionExpandListener(menuItem, new OnActionExpandListener() { 

      @Override 
      public boolean onMenuItemActionExpand(MenuItem arg0) { 
       // TODO Auto-generated method stub 
       return false; 
      } 

      @Override 
      public boolean onMenuItemActionCollapse(MenuItem arg0) { 
       // TODO Auto-generated method stub 
       return false; 
      } 
     }); 

     return super.onCreateOptionsMenu(menu); 
    } 
    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     return false; 
    } 
} 

답변

3

a Button. 그런 다음 당신이 할 일은 당신의 MainActivity이를 추가하는 것입니다 : 당신의 응답

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 
    } 
+0

덕분에 내가 발견 http://developer.android.com/guide/topics/ui/menus.html#PopupMenu – bomba1990

+0

다행이 당신을 도왔습니다. – Rick

+0

나는이 질문과 관련이있는 친구가 있습니다. android의 utylity는 무엇입니까? showAsAction = "always | collapseActionView". – bomba1990