Используя 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();
даже если я опоздал, я надеюсь, что это поможет.