У меня проблема с изменением размера изображений через addOnScrollChangedListener. У меня есть их с setScaleType (ImageView.ScaleType.FIT_XY). Мой код:
final int[] last_scrollX = {width};
hv.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
//int scrollY = hv.getScrollY(); // For ScrollView
int scrollX = hv.getScrollX(); // For HorizontalScrollView
if(scrollX>last_scrollX[0]) {
IV_4.getLayoutParams().width = (int) (IV_4.getLayoutParams().width / 1.01);
IV_4.getLayoutParams().height = IV_4.getLayoutParams().width*2;
IV_2.getLayoutParams().width = (int) (IV_2.getLayoutParams().width * 1.01);
IV_2.getLayoutParams().height = IV_2.getLayoutParams().width*2;
} else if (scrollX<last_scrollX[0]) {
IV_4.getLayoutParams().width = (int) (IV_4.getLayoutParams().width * 1.01);
IV_4.getLayoutParams().height = IV_4.getLayoutParams().width*2;
IV_2.getLayoutParams().width = (int) (IV_2.getLayoutParams().width / 1.01);
IV_2.getLayoutParams().height = IV_2.getLayoutParams().width*2;
}
last_scrollX[0]=scrollX;
}
});
}
Я хочу уменьшить и увеличить их размер, когда HorizontallScrollView hv прокручивает назад и вперед, но когда я прокручиваю, они не изменят свой размер. КОГДА я минимизирую приложение, а затем снова максимизирую его или фокусируюсь на редактировании текста в упражнении, изображения меняют свой размер (очень большой или очень маленький).
РЕДАКТИРОВАТЬ: Забыл упомянуть, что эти изображения находятся в ConstraintLayout за прокруткой. Таким образом, они не находятся в просмотре прокрутки, следовательно, не в линейном макете. Вот что я получаю сейчас: https://image.ibb.co/naJiqT/ezgif_5_e9c1de6230.gif IV_4 - это левое изображение, а IV_2 - это правильное изображение, и я хочу, чтобы они меняли размер при прокрутке, но сейчас они меняются только тогда, когда я минимизирую / максимизирую приложение или когда я фокусируюсь текст редактирования.
РЕДАКТИРОВАТЬ 2: Я вижу, как я могу сделать то, что я сделал до сих пор с преобразователем страниц, я никогда не использовал его, но насколько я могу видеть, будет очень трудно сделать изображения масштабируемыми + и - и изменяя их положение в то же время во время трансформации. Мне нужно понять, почему их размер не изменяется во время прокрутки, но когда я минимизирую / развертываю приложение или фокусирую текст редактирования, код onscrollchange показывает его изменения на изображениях.