首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java wear Scroll WearableRecyclerView by digital crown

Java wear Scroll WearableRecyclerView by digital crown
EN

Stack Overflow用户
提问于 2020-01-22 16:53:58
回答 1查看 351关注 0票数 2

当我使用数字皇冠时,我的列表无法滚动

这就是我要做的;

代码语言:javascript
复制
<androidx.wear.widget.WearableRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/wrv_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical"
    />


public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wrv_demo);
        WearableRecyclerView wrv = findViewById(R.id.wrv_container);
        wrv.setLayoutManager(new WearableLinearLayoutManager(this));
        wrv.setAdapter(new DemoAdapter());
        wrv.setHasFixedSize(true);
        wrv.setCircularScrollingGestureEnabled(true);
        wrv.setEdgeItemsCenteringEnabled(true);
        wrv.setOnGenericMotionListener(new View.OnGenericMotionListener() {
            @Override
            public boolean onGenericMotion(View view, MotionEvent motionEvent) {
                return false;
            }
        });

        wrv.setBezelFraction(0.5f);
        wrv.setScrollDegreesPerScreen(90);
    }


    private static class ViewHolder extends RecyclerView.ViewHolder {
        TextView mView;
        ViewHolder(TextView itemView) {
            super(itemView);
            mView = itemView;
        }
    }
    private static class DemoAdapter extends WearableRecyclerView.Adapter<ViewHolder> {
        private static final int ITEM_COUNT = 100;
        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            TextView view = new TextView(parent.getContext());
            return new ViewHolder(view);
        }
        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            holder.mView.setText("Holder at position " + position);
            holder.mView.setTag(position);
        }
        @Override
        public int getItemCount() {
            return ITEM_COUNT;
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-04-04 04:31:38

简而言之: wrv.requestFocus();

冗长的回答:这一页概述了如何捕获旋转输入。https://developer.android.com/training/wearables/ui/rotary-input

我发现我的WearOS应用程序的回收器视图在模拟器中自动工作,而不是它在该页面上的任何内容;但是,它在我的手表上不起作用。我实现了该页面上的每一步,然后手表就可以工作了。然后我删除了那一页上的所有东西。对我来说,唯一需要的就是recyclerView.requestFocus()行。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59855834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档