2013-01-04 5 views
5

私は初心者のAndroidプログラマーで、JFeinstein's awesome sliding menuと一緒に動き回っていて、アプリでどのように動作し、実装するのかを試していますが、すべての実装では、上記のビュー。SlidingMenuが正しく表示されない

また、上記のビューに戻る唯一の方法は、戻るボタンを押すことです。したがって、"sliding"も戻ってきません。私が正しく理解していれば、これはBehindViewOffsetによって制御されるはずですが、それを動作させるようには思われません。とにかく、ここで少しのサンプルコードがあります:

ここに私のMainActivityです:

public class MainActivity extends SlidingActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     setBehindContentView(R.layout.testing); 

     populate(); 

     SlidingMenu menu = new SlidingMenu(this); 
     menu.setMode(SlidingMenu.LEFT); 
     menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN); 
     menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
     menu.setFadeDegree(0.35f); 
     menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 
     setSlidingActionBarEnabled(true); 
     menu.setMenu(R.layout.testing); 

    } 

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

    private void populate() { 

     ListView lv = (ListView) findViewById(R.id.listView1); 
     String[] values = new String[] { "One", "Two", "Three", "Four", "Five", 
       "Six", "Seven", "Eight", "Nine", "Ten" }; 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_list_item_1, android.R.id.text1, values); 
     lv.setAdapter(adapter); 

    } 
} 

とレイアウトのxml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ListView 
     android:id="@+id/listView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
    </ListView> 

</LinearLayout> 

私はより多くの担当者を獲得するまで、悲しいことに、私はスクリーンショットを投稿することはできません!

編集:追加dimen.xml

<resources> 
    <dimen name="slidingmenu_offset">120dp</dimen> 
    <dimen name="list_padding">10dp</dimen> 
    <dimen name="shadow_width">15dp</dimen> 
    <integer name="num_cols">1</integer> 
</resources> 
+0

'example/res/values/dimen.xml'を正しく追加しましたか? 'R.dimen.slidingmenu_offset.'は正しく言及されていますか? –

+0

はい、しかし、私はそれを投稿に追加しました。 –

答えて

8

[OK]をので、私は例をよく見て取り、finnalyため

SlidingMenu menu = new SlidingMenu(this); 

を変更することにより、作業それを得た:

SlidingMenu menu = getSlidingMenu(); 

ここでは、主なアクティビティの最後のコードは次のとおりです。onCreate:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    setBehindContentView(R.layout.testing); 

    populate(); 

    SlidingMenu menu = getSlidingMenu(); 

    menu.setMode(SlidingMenu.LEFT); 
    menu.setShadowWidthRes(R.dimen.shadow_width); 
    menu.setShadowDrawable(R.drawable.shadow); 
    menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
    menu.setFadeDegree(0.35f); 
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
    setSlidingActionBarEnabled(true); 


} 
+1

おかげで。私は同じ問題に直面していた、あなたのソリューションは私のためにそれを固定したものでした! –

+0

それを聞いてうれしい! –

関連する問題