Я придерживаюсь следующего мнения.
<LinearLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "@color/white"
android:fitsSystemWindows = "true"
android:orientation = "vertical">
<LinearLayout
android:layout_width = "wrap_content"
android:layout_height = "50dp"
android:layout_gravity = "center|right"
android:gravity = "center"
android:orientation = "horizontal">
<ImageView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:onClick = "@{() -> viewActions.openMore()}"
android:src = "@drawable/btn_my_more" />
</LinearLayout>
<ScrollView
android:id = "@+id/layout_scrollview"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:fillViewport = "true">
<LinearLayout
android:id = "@+id/layout_root"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:orientation = "vertical">
<LinearLayout
android:id = "@+id/layout_profile"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginTop = "55dp"
android:gravity = "center_horizontal"
android:orientation = "vertical"
android:visibility = "visible">
<ImageView
android:id = "@+id/iv_profile_thumbnail"
android:layout_width = "90dp"
android:layout_height = "90dp"
android:background = "@drawable/shape_my_profile_thumbnail"
android:scaleType = "fitCenter"
app:profileThumbnailSrc = "@{myProfile.profileUrl}" />
<TextView
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginTop = "6dp"
android:text = "@{myProfile.urlId}"
android:textColor = "@color/black"
android:textSize = "23dp"
android:textStyle = "bold" />
</LinearLayout>
<android.support.v4.view.ViewPager
android:id = "@+id/viewpager_my"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:layout_marginBottom = "@dimen/gnb_height" />
</LinearLayout>
</ScrollView>
</LinearLayout>
В viewpager есть два фрагмента с recyclerview.
когда я использую recyclerview в окне просмотра, прокручивайте вверх, как прокручивать верхний ScrollView. в настоящее время прокручивается только recyclervie в окне просмотра.
если знаете как решить, ответьте, пожалуйста, на мой вопрос. большое спасибо
Не могли бы вы подробнее объяснить, чего именно вы пытаетесь достичь?
@Moinkhan, спасибо за ваш ответ, но я применил NestedScrollView, но он не работает
в nestedScrollView примените некоторые свойства, такие как fillViewPort, NestedScrollingEnable ...
@RudrikPatel viewpager имеет два фрагмента, каждый фрагмент имеет recyclerview, когда я прокручиваю recyclerview, родительский scrollview не прокручивается, прокручивается только recycerview
@ user1611241, значит, вы хотите, чтобы и recyclerView, и scrollview прокручивались в одном событии ??
Я не уверен, решит ли это вашу проблему из-за отсутствия информации о коде, но попробуйте это и дайте мне знать, решит ли это вашу проблему.
recyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getApplicationContext(),LinearLayoutManager.VERTICAL, false);
layoutManager.setAutoMeasureEnabled(true);
recyclerView.setNestedScrollingEnabled(false);
recyclerView.setLayoutManager(layoutManager);
я добавил свой код. Надеюсь, когда я прокручиваю вид ресайклера в окне просмотра, я хочу вместе прокрутить родительский scrollview (id = layout_scrollview)
Поэтому, когда вы прокручиваете страницу recyclerview вверх, вы хотите, чтобы макет миниатюр вашего профиля также перемещался вверх. Правильно?
используйте ниже, чтобы родительский элемент не получал какое-либо событие.
recyclerView.requestDisallowInterceptTouchEvent(true)
установите для него значение ложный, если вы хотите, чтобы родительский элемент перехватывал событие дочернего элемента.
если вы хотите остановить прокрутку в recycler, это особый случай:
override fun onTouchEvent(event: MotionEvent?): Boolean {
//special case condition
if (x==y&& event.action== MotionEvent.ACTION_DOWN){
return false
}
}
попробуйте NestedScrollView