1

Я нашел this библиотеки, и я пытаюсь настроить его. Я пытаюсь изменить салфетки слева направо налево. Это образ того, что я хочу.Настроить FlippableStackView

enter image description here

Я также обнаружил, что другие пытаются сделать то же самое, как вы можете прочитать here.

Я triend изменить метод OnLayout в OrientedViewPager

protected void onLayout(boolean changed, int l, int t, int r, int b) 

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

// Page views. Do this once we have the right padding offsets from above. 
     for (int i = 0; i < count; i++) { 
      final View child = getChildAt(i); 

, но я не знаю, как правильно изменить код.

В открытом выпуске ниже я прочитал, что blipinsk сказал, что фрагмент кода, который нуждается в изменениях, находится в StackPagerTransformer, а не в OrientedViewPager, но я также читаю здесь http://developer.android.com/reference/android/support/v4/view/ViewPager.PageTransformer.html, что трансформатор страницы обычно вызывается только для анимации, в то время как страница/фрагмент меняется.

Не могли бы вы рассказать мне, как это сделать? Где я могу найти хорошую книгу или учебное пособие о том, как настраивать представления, коллекцию кадров и pagetransformer? Thanks

EDIT 1 В настоящий момент я использовал хак, который не очень хорош, но он работает. Я установил вращение 180 здесь

<com.myapp.app1.flippablestackview.FlippableStackView 
    android:id="@+id/flippable_stack_view_pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:clipToPadding="false" 
    android:rotation="180" /> 

и того же содержания фрагмента, созданного в пейджере

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="265dp" 
    android:layout_height="400dp" 
    android:background="@color/white" 
    android:padding="30dp"> 

    <TextView 
     android:id="@+id/page_one_text_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:rotation="180" 
     android:text="CONTENT" /> 

    <ImageView 
     android:id="@+id/page_one_image_content" 
     android:layout_width="250dp" 
     android:layout_height="250dp" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:rotation="180" /> 

</RelativeLayout> 

Я предполагаю, что это не элегантное решение, но у меня нет время для большого исправления в данный момент.

+0

Welp, здесь же - только то, что мне нужно в вертикальном положении. Есть ли у вас какие-либо комментарии относительно того, как вы его окончательно решили? Вы загрузили что-то в github? Спасибо :) – RominaV

+0

Вы хотите что-то вроде [этого] (https://github.com/blipinsk/FlippableStackView/blob/master/FlippableStackView.gif), повернутого на 180 градусов? – michoprogrammer

+0

да! Я просматриваю код этой библиотеки, потому что мне нравится, как она реализована, но я не могу понять, где она решила, что представления будут выглядеть сверху:/ – RominaV

ответ

1

Я предлагаю вам использовать FancyCoverFlow

fancyCoverFlow = new FancyCoverFlow(context); 
fancyCoverFlow.setMaxRotation(45); 
fancyCoverFlow.setUnselectedAlpha(0.3f); 
fancyCoverFlow.setUnselectedSaturation(0.0f); 
fancyCoverFlow.setUnselectedScale(0.4f); 

XML

<at.technikum.mti.fancycoverflow.FancyCoverFlow 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     fcf:maxRotation="45" 
     fcf:unselectedAlpha="0.3" 
     fcf:unselectedSaturation="0.0" 
     fcf:unselectedScale="0.4" /> 
+0

Спасибо за вашу помощь, но FancyCoverFlow сильно отличается от результата, который я бы хотел ...FCF - это своего рода список, в котором я могу показать все страницы моего документа, то, что я хочу получить, это то же самое, что и FlippableStackView, но с другим проводом и ориентацией. – michoprogrammer