0

アクションバー Sherlockでjfeinstein10/SlidingMenuを使用する Android アプリケーションを開発しています 。

初めて使ったのですが、全画面表示モード以外で開く方法がわかりません。アクティビティとメニューが見たい。

これは私のmenu_list.xmlです:

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="5dip"
    android:paddingRight="5dip" />

そして私のmenu_row.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="50dp"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/menuIcon"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:padding="10dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/menuTitle"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:padding="10dp"
        android:text=""
        android:textAppearance="@android:style/TextAppearance.Medium" />
</LinearLayout>

そして私のmenu.xml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/slidingMenuFragment"
    android:name="com.com.msx.fragments.MenuFragment"
    android:layout_width="2dp"
    android:layout_height="match_parent">
</fragment>

そして私のdimens.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="slidingmenu_width">5dp</dimen>
    <dimen name="slidingmenu_offset">60dp</dimen>
    <dimen name="list_padding">10dp</dimen>
    <dimen name="shadow_width">15dp</dimen>
    <integer name="num_cols">1</integer>
</resources>

そしてonCreate私の活動のために:

@オーバーライド

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

    setBehindContentView(R.layout.menu);

        setSlidingActionBarEnabled(false);        

        slidingMenu = new SlidingMenu(this);
        slidingMenu.setMode(SlidingMenu.LEFT);
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
        slidingMenu.setShadowWidthRes(R.dimen.shadow_width);
        slidingMenu.setShadowDrawable(R.drawable.shadow);
        slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        slidingMenu.setFadeDegree(0.35f);
        slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);

        getSupportActionBar().setDisplayShowCustomEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

そしてMenuFragment

public class MenuFragment extends ListFragment
{
    private static final String TAG = "MenuFragment";
    /**
     * Menu items to show in this Sliding Menu. 
     */
    private ArrayList<MenuItem> mMenuItems;

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState)
    {
        return inflater.inflate(R.layout.menu_list, null);
    }

    public void onActivityCreated(Bundle savedInstanceState)
    {
        super.onActivityCreated(savedInstanceState);

        // Get menu items.
         mMenuItems = getMenuItems();

        MenuAdapter adapter = new MenuAdapter(getActivity(),
                R.layout.menu_row, mMenuItems);
        setListAdapter(adapter);
    }

    /**
     * Get menu items to show on Sliding menu.
     * @return
     */
    private ArrayList<MenuItem> getMenuItems()
    {
     [ ... ]
    }
}

Facebookのアプリのようにメニューを表示したい。どうすればいいですか?

4

4 に答える 4

-1

これを試してください....

 getSlidingMenu().setBehindOffset(100);
于 2013-10-21T13:31:30.320 に答える
-1

この回答がまだ必要かどうかはわかりませんが、あなたと同じslidemenuを使用して同じ問題が発生したため、このパラメーターの次元を変更して修正しました:

lateralMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);

0dp に設定すると、slidingmenu がフルスクリーンで開きます。私のアプリでは、タブレットまたはハンド デバイスを使用している場合、スライド メニューの 2 つの異なる寸法が必要でした。さまざまな dimen.xml ファイルを使用して、このパラメーターにさまざまなディメンションを設定しました。

お役に立てば幸いです。

于 2013-09-11T15:28:58.200 に答える