2013-04-22 1 views
1

SlidingMenuSherlockActivity을 사용하고 싶습니다. 정확히 어떻게 사용하는지 모르겠습니다. 라이브러리 즉, (SlidingMenu and SherlockActionBar) 두 가지를 모두 통합 할 수 있습니다. 다음 방법으로 시도했습니다. 나는 슬라이드 메뉴 있지만 메뉴 화면이 또 다른 문제는 내가 버튼의 onclick을 사용하여 메뉴를 표시 할 수있는 전체 화면없는 부분 screen.And를 점유을 보여줄 수 있어요sherlockActivity와 함께 slidingmenu를 사용하는 방법?

public class MainActivity extends SherlockActivity { 

private SlidingMenu slidemenu; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
      createSlidingMenu(); 
} 

public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) { 
    // TODO Auto-generated method stub 
    menu.add("Search") 
    .setIcon(android.R.drawable.ic_search_category_default) 
    .setActionView(R.layout.collapsible_edittext) 
    .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); 

    return true; 
} 

private void createSlidingMenu() { 

    slidemenu = new SlidingMenu(this); 
    slidemenu.setShadowDrawable(R.drawable.shadow); 
    slidemenu.setShadowWidthRes(R.dimen.shadow_width); 
    slidemenu.setFadeDegree(0.35f); 
    slidemenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
      slidemenu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); 
    slidemenu.setMenu(R.layout.sliding_view); 
    slidemenu.setSlidingEnabled(true); 
} 
} 

가있는 리면에 화면의 왼쪽 모퉁이. 어떻게하면 이걸 이룰 수 있습니다.

답변

0

마지막으로 내가 슬라이딩 메뉴 라이브러리에서했던 다음 manner.Changes에 달성하기 위해 관리 SlidingActivityActivity 그래서 난 SherlockActivity로 변경 한 후 다음과 같은 방식으로 사용 확장이며 잘 작동합니다.

SlidingMenu-librarySherlockAction-Bar 라이브러리를 추가해야합니다. 이 내가 같은 라이브러리를 사용

+0

고마워요. 도움이된다 –

+0

@COLDICE wel come buddy :) – Akshay

1

... 내가 그 도서관이 도서관 https://github.com/SimonVT/android-menudrawer/ 검사 샘플을 사용하고 내가 또한 ActionBarSherlock의

enter image description here

코드는 다음과 같습니다를 사용했다

package com.example.slider; 

import net.simonvt.menudrawer.MenuDrawer; 
import android.os.Build; 
import android.os.Bundle; 
import android.widget.TextView; 

import com.actionbarsherlock.app.SherlockActivity; 
import com.actionbarsherlock.view.Menu; 
import com.actionbarsherlock.view.MenuItem; 

public class MainActivity extends SherlockActivity { 

    private static final String STATE_MENUDRAWER = "net.simonvt.menudrawer.samples.WindowSample.menuDrawer"; 
    private static final String STATE_ACTIVE_VIEW_ID = "net.simonvt.menudrawer.samples.WindowSample.activeViewId"; 

    private MenuDrawer mMenuDrawer; 
    private TextView mContentTextView; 

    private int mActiveViewId; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.activity_main); 

     if (savedInstanceState != null) { 
      mActiveViewId = savedInstanceState.getInt(STATE_ACTIVE_VIEW_ID); 
     } 

     mMenuDrawer = MenuDrawer.attach(this, MenuDrawer.MENU_DRAG_WINDOW); 
     // mMenuDrawer.setContentView(R.layout.activity_windowsample); 
     mMenuDrawer.setMenuView(R.layout.menu_scrollview); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     } 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getSupportMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    protected void onRestoreInstanceState(Bundle inState) { 
     super.onRestoreInstanceState(inState); 
     mMenuDrawer.restoreState(inState.getParcelable(STATE_MENUDRAWER)); 
    } 

    @Override 
    protected void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     outState.putParcelable(STATE_MENUDRAWER, mMenuDrawer.saveState()); 
     outState.putInt(STATE_ACTIVE_VIEW_ID, mActiveViewId); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case android.R.id.home: 
      mMenuDrawer.toggleMenu(); 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 

    @Override 
    public void onBackPressed() { 
     final int drawerState = mMenuDrawer.getDrawerState(); 
     if (drawerState == MenuDrawer.STATE_OPEN 
       || drawerState == MenuDrawer.STATE_OPENING) { 
      mMenuDrawer.closeMenu(); 
      return; 
     } 

     super.onBackPressed(); 
    } 

} 

은하지 않습니다 당신의 활동에있는 안드로이드 매니페스트 파일에있는 forgate 세트 테마

,
<activity 
      android:name="com.example.slider.MainActivity" 
      android:theme="@style/Theme.Sherlock.Light" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
+2

@Dharwal Sodha : 미래의 어떤 일에 도움이 될 것입니다하지만 난 당신이 무엇을 할 수있다 말씀 해주십시오 MenuDrawer' class.Can'의 인스턴스를 받고 있지 않다

public class WhatsUpActivity extends SlidingActivity { private SlidingMenu slidingMenu; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.whats_up); slidingMenu = getSlidingMenu(); slidingMenu.setMode(SlidingMenu.LEFT); slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); slidingMenu.setShadowWidthRes(R.dimen.shadow_width); slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset); slidingMenu.setFadeDegree(0.35f); setBehindContentView(R.layout.menu_layout); //Menu view left side. setSlidingActionBarEnabled(true); } } 

희망 문제가된다. – Akshay

+0

@Akshay 그는 [android-menudrawer] (https://github.com/SimonVT/android-menudrawer)를 사용했습니다. – VenomVendor