Используя SlidingPaneLayout с правой стороны?

Можно ли каким-то образом использовать Android SlidingPaneLayout, чтобы делать именно то, что он делает, кроме как с противоположной стороны?

Т.е. я хочу, чтобы лицевая панель смахнула правую сторону экрана вместо левой, чтобы открыть вторую панель, и она скользит справа, а не слева.

В идеале я ищу способ сделать это с помощью этого макета или его модификации.

2 ответа

Я думаю, что это возможно, так же, как этот сделал это снизу. проверьте разницу между ним и исходным кодом, и вы узнаете, как это сделать.

Я еще не пробовал это, но я не понимаю, почему это не будет работать с чем-то вроде этого:

<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sliding_pane_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<fragment
    android:id="@+id/content_pane"
    android:name="package.DetailFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:layout_marginRight="60dp"

    />

<fragment
    android:id="@+id/list_pane"
    android:name="package.MyListFragment"
    android:layout_width="300dp"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    />

Таким образом, у вас будет ListFragment на правой стороне. Теперь какой из них вы хотите открыть первым - решать вам. Если вы хотите, чтобы левая сторона показывалась первой, вам нужно иметь что-то подобное в методе onCreate вашей функции MainActivity:

    private SlidingPaneLayout mSlidingLayout;
    mSlidingLayout = (SlidingPaneLayout) findViewById(R.id.sliding_pane_layout);

    mSlidingLayout.setPanelSlideListener(new SliderListener());
    mSlidingLayout.openPane();

даже если я опоздал, я надеюсь, что это поможет.

Другие вопросы по тегам