Когда активность открывается, в ней отображается верхняя часть макета RecyclerView, а не верхняя часть макета активности.На начальном этапе развертывания на вершине RecyclerView
активность файл макета .xml:
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="20dp"
android:paddingTop="20dp">
...
<RelativeLayout/>
<View />
<LinearLayout/>
...
<android.support.v7.widget.RecyclerView
android:id="@+id/venue_place_info_gallery_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"/>
</LinearLayout>
</ScrollView>
активность OnCreate:
RecyclerView galleryRecyclerView = (RecyclerView) findViewById(R.id.venue_place_info_gallery_recycler_view);
galleryRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(gridLayoutColumns, StaggeredGridLayoutManager.VERTICAL));
VenueGalleryAdapter venueGalleryAdapter = new VenueGalleryAdapter(VenuePlaceInfoActivity.this, images);
galleryRecyclerView.setAdapter(venueGalleryAdapter);
Адаптер очень прост. Он получает изображения в качестве аргумента в конструкторе, и данные не могут быть изменены позже. Я попытался применить все виды настроек к макету RecyclerView, но он работает так же или без них. Например:
galleryRecyclerView.setNestedScrollingEnabled(false);
galleryRecyclerView.setHasFixedSize(true);
galleryRecyclerView.setLayoutFrozen(true);
galleryRecyclerView.setPreserveFocusAfterLayout(false);
UPDATE:
я нашел больше информации по этому вопросу в answer of another question. Это все из-за того, что ScrollView и RecyclerView не способны жить вместе, даже если для setNestedScrollingEnabled установлено значение true. Но это все еще не дает мне решения моей проблемы. Мне нужно иметь некоторые вещи над галереей RecyclerView, и я хочу прокрутить вниз все изображения (не помещая их в контейнер).
Можете ли вы приложить скриншот? –
Удалить галереюRecyclerView.setPreserveFocusAfterLayout (false); line – vinoth12594
Я сказал, что эти дополнительные параметры удалены на данный момент. Я только что попробовал их раньше, но они ничего не изменили. – Galya