-7

recyclerViewスクロールバーが表示されないようにtoの高さを作成する方法.高wrap_contentさをコンテンツと同じくらい長くしたいのですが、スクロールバーを入れたくないのですが、コンテンツを追加しようとするとrecyclerViewただし、そこにスクロールバーを配置し、リサイクラー ビューの高さを修正します。これを解決するのを手伝ってください。

4

1 に答える 1

1

これを達成するために必要なのは、RecyclerView の高さを動的に設定することです。これは以前に ListView で行ったことがあります。

RecyclerView から ListView に切り替えることができる場合は、このメソッドを使用できます。それ以外の場合は、コメントを残してください。RecyclerView のコードを調整します。

/**
 * Sets ListView height dynamically based on the height of the items.
 *
 * @param listView to be resized
 * @return true if the listView is successfully resized, false otherwise
 */
public static boolean setListViewHeightBasedOnItems(ListView listView) {

    ListAdapter listAdapter = listView.getAdapter();
    if (listAdapter != null) {

        int numberOfItems = listAdapter.getCount();

        // Get total height of all items.
        int totalItemsHeight = 0;
        for (int itemPos = 0; itemPos < numberOfItems; itemPos++) {
            View item = listAdapter.getView(itemPos, null, listView);
            item.measure(0, 0);
            totalItemsHeight += item.getMeasuredHeight();
        }

        // Get total height of all item dividers.
        int totalDividersHeight = listView.getDividerHeight() *
                (numberOfItems - 1);

        // Set list height.
        ViewGroup.LayoutParams params = listView.getLayoutParams();
        params.height = totalItemsHeight + totalDividersHeight;
        listView.setLayoutParams(params);
        listView.requestLayout();

        return true;

    } else {
        return false;
    }

}
于 2016-12-05T13:32:04.693 に答える