2013-11-09 5 views
-1

버튼 클릭시 슬라이딩 메뉴를 만들고 싶습니다. Sliding Menu 라이브러리와 Sherlock 라이브러리를 사용했습니다. 슬라이딩 메뉴는 스 와이프에서 잘 작동하지만 내 요구 사항은 버튼을 클릭 할 때 슬라이딩 메뉴가 슬라이드되어 있어야한다는 것입니다. 도와주세요. 사전에 감사버튼을 클릭 할 때 슬라이딩 메뉴를 만드는 방법

MainPage 코드

package com.ketan.slidingexample; 

import android.os.Bundle; 
import android.widget.Button; 
import android.widget.TextView; 

import com.actionbarsherlock.app.ActionBar; 
import com.actionbarsherlock.app.SherlockFragmentActivity; 
import com.actionbarsherlock.view.Menu; 
import com.actionbarsherlock.view.MenuItem; 
import com.slidingmenu.lib.SlidingMenu; 

public class MainActivity extends SherlockFragmentActivity implements Menufragment.MenuClickInterFace{ 
    SlidingMenu menu; 
    TextView text; 
    Button btn; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     text=(TextView)findViewById(R.id.text); 
     btn=(Button) findViewById(R.id.button1); 

     ActionBar ab = getSupportActionBar(); 
     ab.setHomeButtonEnabled(true); 
     ab.setDisplayHomeAsUpEnabled(true); 
     menu = new SlidingMenu(this); 
     menu.setMode(SlidingMenu.LEFT); 
     menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
     menu.setShadowWidthRes(R.dimen.shadow_width); 
     menu.setShadowDrawable(R.drawable.shadow); 
     menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
     menu.setFadeDegree(0.35f); 
     menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 
     menu.setMenu(R.layout.menu); 
     menu.setSlidingEnabled(true); 

    } 



    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // TODO Auto-generated method stub 
     menu.toggle(); 
     return super.onOptionsItemSelected(item); 
    } 

    @Override 
    public void onListitemClick(String item) { 
     // TODO Auto-generated method stub 
     text.setText(item); 
    } 
} 

메뉴 페이지 코드

package com.ketan.slidingexample; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ListView; 

import com.actionbarsherlock.app.SherlockFragment; 

public class Menufragment extends SherlockFragment { 
    ListView list; 
    MenuClickInterFace mClick; 

    interface MenuClickInterFace { 
     void onListitemClick(String item); 
    } 

    @Override 
    public void onAttach(Activity activity) { 
     // TODO Auto-generated method stub 
     super.onAttach(activity); 
     mClick = (MenuClickInterFace) activity; 
    } 

    @Override 
    public void onActivityCreated(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onActivityCreated(savedInstanceState); 
     list = (ListView) getView().findViewById(R.id.list); 
     list.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
        long arg3) { 
       String i=(String) arg0.getItemAtPosition(arg2); 
       mClick.onListitemClick(i); 
      } 
     }); 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     View v = inflater.inflate(R.layout.menulist, container, false); 
     return v; 
    } 

} 

답변

0

) (단지 전환을 넣어 버튼과 클릭 리스너에 클릭 리스너를 수행;

0

button1의 xml을 편집하고 android:onClick="buttonClick" 속성을 추가하십시오. 그런 다음 활동이 아닌 조각에, 트릭을 할해야

public void buttonClick(View v){ menu.showMenu(true); }

를 추가합니다.

감사합니다.

관련 문제