- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当我将 RecyclerView 放在嵌套 ScrollView 中时,屏幕总是跳到 RecyclerView 的顶部而不是页面的顶部。这是一个简单的例子。
布局xml:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="350dp"
android:background="@android:color/holo_blue_dark"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycleView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</layout>
使用虚拟适配器的 Activity :
public class RecycleViewTestActivity extends AppCompatActivity {
public static class ExampleAdapter extends RecyclerView.Adapter<ExampleViewHolder> {
private Context context;
public ExampleAdapter(Context context) {
this.context = context;
}
@Override
public ExampleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
TextView view = new TextView(context);
view.setText("Test");
return new ExampleViewHolder(view);
}
@Override
public void onBindViewHolder(ExampleViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 100;
}
}
public static class ExampleViewHolder extends RecyclerView.ViewHolder {
public ExampleViewHolder(View itemView) {
super(itemView);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rectest);
RecyclerView view = (RecyclerView) findViewById(R.id.recycleView);
view.setNestedScrollingEnabled(false);
view.setLayoutManager(new LinearLayoutManager(this));
ExampleAdapter adapter = new ExampleAdapter(this);
view.setAdapter(adapter);
}
}
在这个例子中,我在 recycleview 上有一个 350dp 高的空 View ,因为你需要在 RecycleView 上有一些内容才能明显显示出来。 RecycleView 本身包含 100 个虚拟 TextView 。
启动 Activity 后,滚动条位于 RecycleView 的顶部,而不是页面顶部。肯定是 LinearLayoutManager 里面的东西,但还没有真正看过。
任何想法如何解决这个问题?
最佳答案
使您的顶 View 具有焦点。 “RecyclerView 已将“focusableOnTouchMode”设置为 true,以处理其子项在布局期间的焦点变化。”相关 discussion of the issue .
例子:
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusableInTouchMode="true"
android:orientation="vertical">
<View
android:id="@+id/someView"
android:layout_width="wrap_content"
android:layout_height="350dp"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
关于android - RecyclerView 在 NestedScrollView 内时窃取焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36923948/
所以我有一个 Fragment,它使用 CoordinatorLayout,里面有一个 NestedScrollView。 NestedScrollView 内部是一个 ViewPager。 View
我知道这个问题很多,但我尝试了几乎所有的解决方案,即使是神奇的解决方案显然对我不起作用!:(父级是 NestedScrollview,在子级中还有另一个嵌套 ScrollView ) pare
我想在滚动式 Instagram 时将 TabLayout 固定在顶部。有没有办法在 NestedScrollView 中执行此操作? NestedScrollView -- ConstraintLa
我的构造中有两个项目,一个是静态项目,另一个是带有可拖动项目的回收 View 。两种类型的 View 都由 LinearLayout 包装。 LinearLayout 由 NestedScrollVi
java.lang.NoSuchMethodError: No virtual method setOnScrollChangeListener(Landroidx/core/widget/Neste
我有一个带有RecyclerView的PagedListAdapter。 当我将RecyclerView放入NestedScrollView中时,PagedList无法计算列表的末尾,因此start请
我将 CollapsingToolbarLayout 与 NestedScrollView 结合使用,在 NestedScrollView 内我有一个项目列表,但在执行中我无法滚动所有项目。 在我的示
我试图将后退按钮保留在页面底部,并让嵌套 ScrollView 填充页面底部统计信息相对布局和后退按钮下方的空间。它目前适合顶部的统计信息,但由于它适合页面,所以将后退按钮推离了页面底部。
所以我在 styles.xml 中为 AppTheme NoActionBar 设置,因为我只希望在几个 Activites 中使用工具栏,并且我还创建了包含两个项目的 post_details_me
这是我 Activity 中的原始布局: 看起来不错: 内容布局文件包含一个 TableLayout。 由于内容可能很长,我添加了一个 Neste
我使用 https://github.com/nhaarman/ListViewAnimations实现拖放,滑动删除等。但是有问题第一个图像可以滚动列表但不能拖放(它下降到相同的位置并且不进入onI
我在 CoordinatorLayout 中有一个 NestedScrollView。在 NestedScrollView 中,我有一个包含一些组件的 LinearLayout,其中一些是按钮。组件没
我注意到 CoordinatorLayout 内的 NestedSCrollView 中的内容如果没有填满整个屏幕,则始终对齐在底部。我该如何解决? 我的代码:
我正在使用 NestedScrollView 以达到某些目的 similar to this . 更新 这是我的 repo . 我发现当移动设备变成横向滚动时,我无法看到按钮或底部的灰色 View 。
我似乎找不到 nestedScrollView 的选项使其水平而不是垂直。我一直在使用 HorizontalScrollView 但我想切换到嵌套。有没有办法做到这一点?搜索文档我没有看到它,但它
我的 xml 由一个约束布局组成。这里面有 2 个按钮和 1 个嵌套的 ScrollView 。 ScrollView 中有各种元素,包括回收 View 。我希望回收 View 不滚动,而只滚动嵌套的
我在 NestedScrollview 中有一个 Recyclerview.. 一切正常,除了一个 thig。我在 NestedScrollview 中共有三个 View ,前两个是 LinearLa
我在我的 fragment 中使用 NestedScrollView。在我的 xml 中的 RelativeLayout 但它没有覆盖整个屏幕高度。 下面是我的代码 - 运行代码时,只有黑色
在我的应用程序中,我需要复杂的 ScrollView 。作为垂直列表和动画标题中的水平列表。下面的代码是一个极简示例,可以使我的问题在 iOS 设备上重现。 我在 flutter 中遇到嵌套 Scro
我正在使用带有标题图像的 CoordinatorLayout 制作详细 View ,我想在具有 NestedScrollView 的 View 中应用圆角边缘,如下所示: 我正在使用带有标题图像的 C
我是一名优秀的程序员,十分优秀!