0

Я разрабатываю приложение для Android. На одном из экранов есть UI: Mockup-UIМенеджер пользовательских макетов Android с прокруткой как по вертикали, так и по горизонтали и заполнению по вертикали

Это означает: есть несколько столбцов, ширина столбца тоже исправлена, поэтому, возможно, нужно прокручивать его по горизонтали. Каждый столбец может иметь разные номера позиций, а при прокрутке по вертикали все столбцы будут прокручиваться. Так что я не знаю, как реализовать этот интерфейс. Я попробовал решение: создать несколько больших recyclerview в двух Scrollview, а затем измерить все их размер:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

     <ScrollView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fillViewport="true"> 

      <HorizontalScrollView 
       android:id="@+id/horizontalScrollView" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:fillViewport="true" 
       android:scrollbars="none"> 
       <LinearLayout 
        android:id="@+id/horizontalContainer" 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent" 
        android:orientation="horizontal"> 

       </LinearLayout> 
      </HorizontalScrollView> 

     </ScrollView> 
</LinearLayout> 

Но когда recyclerview слишком большой, повторно не используется вид, производительность для измерения всех размеров очень плохо. Итак, я нашел, что пользовательский менеджер макетов может сделать вид ресайклера таким, но я не знаю, как его реализовать, может быть, он смешан с FixedGridLayoutManager и StaggeredGridLayoutManager.

Пожалуйста, помогите, если у кого есть представление об этом.

спасибо.

+0

http://wiresareobsolete.com/2014/09/building-a-recyclerview-layoutmanager-part-1/ –

+0

Я попробовал это, как я сказал в своем вопросе: FixedGridLayoutManager, но это не то же самое, что я хочу, размер каждого элемента фиксирован, а элементы прямые в строке, но я хочу не – Hellothi11

+0

Необычные решения нуждаются в индивидуальных решениях. Постройте свой собственный. Моя ссылка была скорее учебником, как это сделать. –

ответ

0

Вы можете попробовать https://github.com/lucasr/twoway-view или рассмотреть возможность использования ViewPager здесь. Вы можете прокручивать по горизонтали, но по одному. Это будет не так гладко, как прокрутка списка, но вы можете попробовать, если горизонтальный список не слишком длинный.

0

Взгляните на эту статью с краткими, но ценными рекомендациями по созданию пользовательских LayoutManagers: http://cases.azoft.com/create-custom-layoutmanager-android/.

Я рекомендую вам также подробно узнать некоторые примеры различных пользовательских опций для прокрутки списков в разных направлениях. Например, здесь вы найдете Carousel LayoutManager: https://github.com/Azoft/CarouselLayoutManager.

Надеюсь, это сработает для вас!

Смежные вопросы