私はちょうどスライディングメニューは私のサムスンギャラクシーS2走行ICSではなく、ジンジャーブレッドを実行している私のHTCの欲望に細かい作業と同じ問題を抱えていました。
スライディングメニューを実装するのと同じ方法を使用しましたが、別の実装で問題が解決されています。
代わりに、手動での活動にメニューを取り付ける:
mSlidingMenu.attachToActivity(this,SlidingMenu.SLIDING_CONTENT);
私はSlidingMenuライブラリからスライディング活動の一つで、私の活動を延長することにしました。私の場合、アクティビティは最初にFragmentActivity
まで延長されましたが、SlidingFragmentActivity
onCreate
メソッド内でbehindViewを設定する必要があります。そうしないと、アクティビティがクラッシュします。
setBehindContentView(R.layout.slidingmenu); //Replace with the layout of your menu
問題を修正する必要があります。ここで
は、私の活動のサンプルコードです:
public class MainActivity extends SlidingFragmentActivity {
SlidingMenu menu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Main view layout for the activity
setContentView(R.layout.activity_listing);
// set the Behind View : REQUIRED (replace with your menu's layout)
setBehindContentView(R.layout.slidingmenu);
menu = getSlidingMenu();
//Now you can customize your sliding menu if you want
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.slidingmenu_shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
あなたはこのソリューションを使用すると、私はすべてのソースコードを解析していない
mSlidingMenu.setMenu(firstPage);
mSlidingMenu.attachToActivity(this,SlidingMenu.SLIDING_CONTENT);
を呼び出す必要はありませんのでご注意ます現在のattachToActivity
メソッドはバグである場合があり、ライブラリが提供する特別なアクティビティを使用するとこれらのバグは表示されません。
EDIT: SlidingMenuライブラリとActionBarSherlock(ABS)で作業している人にはOKです。 まず、SlidingMenu libでABSが参照されていることを確認する必要があります。そうすれば、SlidingMenuが提供するアクティビティクラスをABSで拡張することができます。
例Iは、ABSやスライディングメニューの両方でFragmentActivityを使用する場合: あなたはあなたのアプリケーションで
class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase
そしてによってスライディングメニューライブラリに
class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase
を変更する必要があり、通常SlidingFragmentActivity
を使用してください。ここで
は私のアプリのコードで、それは私が掲示いずれかのようしかし、ABSのサポートである:
public class MainActivity extends SlidingFragmentActivity {
ActionBar mActionBar;
SlidingMenu menu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listing); //Layout of the above view
/*
* ABS initialization
*/
mActionBar = getSupportActionBar();
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
mActionBar.setDisplayHomeAsUpEnabled(true);
/*
* Sliding menu initialization
*/
menu = getSlidingMenu();
menu.setMode(SlidingMenu.LEFT);
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
menu.setShadowWidthRes(R.dimen.shadow_width);
menu.setShadowDrawable(R.drawable.slidingmenu_shadow);
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
menu.setFadeDegree(0.35f);
/* This line initializes the way the sliding menu is working
if you set the boolean to true, the ActionBar will slide along with the content.
if you set to false, only the content will slide and the ActionBar will not move */
setSlidingActionBarEnabled(true);
// set the Behind View
setBehindContentView(R.layout.slidingmenu); //Menu view
[OK]を、** SlidingActivityから延びる**完璧に動作しますが、私はcan'一つのことがあります行うべきこと:アクションバーはコンテンツと共にスライドする。どのようにメニューにそれを添付するには? –
メニューのカスタマイズの後に 'setSlidingActionBarEnabled(true);'を呼び出すと、ActionBarがスライドします。この設定のデフォルト値はfalseです。そのため、コンテンツのみがスライドします。 – FabriceMk
解決策があなたのために働いていれば答えを受け入れることができますか? – FabriceMk