目 录CONTENT

文章目录

解决Java代码创建RecyclerView无法显示滚动条的问题

DevWiki
2017-05-14 / 0 评论 / 0 点赞 / 23 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-03-31,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

0x01 问题来源

由于项目需要,需要在Java代码中创建 RecyclerView, 发现给其设置了滚动条就是不显示.设置代码如下:

mEmojiRv.setVerticalScrollBarEnabled(true);
mEmojiRv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);

0x02 问题修复

Google一下,找到了解决办法,参考如下:

android - Is there any way to enable scrollbars for RecyclerView in code? - Stack Overflow

大概的含义是:

Java代码动态创建 RecyclerView 没有调用View的方法:

View.initializeScrollbarsInternal(TypedArray a) 
View.initializeScrollbars(TypedArray a)

所以,解决方案是把 RecyclerView单独放在一个布局里面,然后加载.

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:scrollbars="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

加载布局:

mEmojiRv = (RecyclerView) LayoutInflater.from(getContext()).inflate(
    R.layout.layout_recycler_view, mRootLayout, false);

经测试,上述方案可行.解决了不显示滚动条的问题.

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论