水平滚动视图中的回收器视图在 android oreo 中不起作用,但在以下版本中运行良好
Recycler view inside Horizontal scroll view not work in android oreo but is working perfectly in below versions
下面的代码不适用于 oreo 版本 android 但适用于其他版本。在这种情况下,我正在尝试使用水平滚动视图,用户必须能够发表评论,而其他评论是在回收商的帮助下显示的 view.so 我在这段代码中遇到的问题仅适用于 [=15= 的新版本] .谁能给我建议关于这个问题的想法。
这是代码
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<FrameLayout
android:layout_width="200dp"
android:layout_height="175dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="5dp"
android:background="@layout/button_background"
android:layout_marginTop="15dp"
>
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/userfbpic1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginTop="10dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="15dp"
android:src="@drawable/bg"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/current_username"
android:text="@string/current_username_forcomment"
android:layout_marginTop="12dp"
android:layout_marginStart="50dp"
android:textStyle="bold"
android:textColor="@color/background"
android:textSize="15sp"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="60dp">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/background"
android:id="@+id/comments"
android:textSize="15sp"
android:hint="comment here"
android:imeOptions="actionDone"
android:singleLine="true"
android:textStyle="bold"
android:background="@android:color/transparent"
/>
</LinearLayout>
</FrameLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview_comments"
android:layout_width="wrap_content"
android:nestedScrollingEnabled="false"
android:layout_marginTop="15dp"
android:layout_height="wrap_content"
android:orientation="horizontal">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
</HorizontalScrollView>
当您将 RecyclerView
放入相同 方向 的 ScrollView
中时,RecyclerView
将伸展、膨胀并放出所有ScrollView
中的 children 变得 不可滚动 。当您拖动视图时,RecyclerView
会消耗触摸事件并且 ScrollView
不会滚动,除非您禁用 RecyclerView
触摸..
在 recyclerview 上的触摸监听器中添加以下代码
recyclerview.addOnItemTouchListener (new RecyclerView.OnItemTouchListener()
{
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
int action = e.getAction();
switch (action) {
case MotionEvent.ACTION_MOVE:
rv.getParent().requestDisallowInterceptTouchEvent(true);
break;
}
return false;
}
});
下面的代码不适用于 oreo 版本 android 但适用于其他版本。在这种情况下,我正在尝试使用水平滚动视图,用户必须能够发表评论,而其他评论是在回收商的帮助下显示的 view.so 我在这段代码中遇到的问题仅适用于 [=15= 的新版本] .谁能给我建议关于这个问题的想法。 这是代码
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<FrameLayout
android:layout_width="200dp"
android:layout_height="175dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="5dp"
android:background="@layout/button_background"
android:layout_marginTop="15dp"
>
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/userfbpic1"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginTop="10dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="15dp"
android:src="@drawable/bg"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/current_username"
android:text="@string/current_username_forcomment"
android:layout_marginTop="12dp"
android:layout_marginStart="50dp"
android:textStyle="bold"
android:textColor="@color/background"
android:textSize="15sp"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="60dp">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/background"
android:id="@+id/comments"
android:textSize="15sp"
android:hint="comment here"
android:imeOptions="actionDone"
android:singleLine="true"
android:textStyle="bold"
android:background="@android:color/transparent"
/>
</LinearLayout>
</FrameLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview_comments"
android:layout_width="wrap_content"
android:nestedScrollingEnabled="false"
android:layout_marginTop="15dp"
android:layout_height="wrap_content"
android:orientation="horizontal">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
</HorizontalScrollView>
当您将 RecyclerView
放入相同 方向 的 ScrollView
中时,RecyclerView
将伸展、膨胀并放出所有ScrollView
中的 children 变得 不可滚动 。当您拖动视图时,RecyclerView
会消耗触摸事件并且 ScrollView
不会滚动,除非您禁用 RecyclerView
触摸..
在 recyclerview 上的触摸监听器中添加以下代码
recyclerview.addOnItemTouchListener (new RecyclerView.OnItemTouchListener()
{
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
int action = e.getAction();
switch (action) {
case MotionEvent.ACTION_MOVE:
rv.getParent().requestDisallowInterceptTouchEvent(true);
break;
}
return false;
}
});