Запрет перемещения изображений с помощью StaggeredGridLayoutManager - PullRequest
3 голосов
/ 01 мая 2020

У меня та же проблема, что и в этом сообщении.

http://i.imgur.com/FUapm2K.gif?1

StaggeredGridLayoutManager и движущиеся элементы

Однако Я не могу понять ответ, вот метод, который я вызываю в методе OnBindViewHolder() моего адаптера.

private void setRealSize(Post post, int position) {

        Log.d(TAG, "setRealSize: width " + post.getWidthPost());
        Log.d(TAG, "setRealSize: height : " + post.getHeightPost());

        int percentWidth = (maxWidth / 3);
        double scaleFactor = (double) percentWidth / (double) post.getWidthPost();

        Log.d(TAG, "setRealSize: factor " + scaleFactor);
        Log.d(TAG, "setRealSize: height " + scaleFactor * post.getHeightPost());

        picturePreview.getLayoutParams().width = percentWidth;
        picturePreview.getLayoutParams().height = (int) (scaleFactor * post.getHeightPost());

}

Мои изображения имеют идеальный размер и сохраняют исходное соотношение сторон. Но я получил движущуюся ошибку, когда снова прокручиваю вверх ...

И даже если бы я "сохранил" эти значения для каждого изображения, где и как я должен использовать эти значения снова, если не с getLayoutParams().height?

в моем Fragment, который содержит представление рециркулятора, которое я имею только для StaggeredGridLayoutManager, следующую строку кода:

gridLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...