Видео с правильным поведением в java и неправильным в ответе на родной здесь
Я изменил линейный макет, чтобы реагировать на касание, изменяя размер левого дочернего элемента, пока правый ребенок занимает остальную часть пространства, имитируя горизонтальную прокрутку, которая может быть "открыта" или "закрыта", используя следующий код
LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) leftView.getLayoutParams();
//Log.d("ll","width " + newWidth);
lp.width=newWidth;
leftView.setLayoutParams(lp);
В ответе native touch все еще вызывает этот метод и регистрирует ожидаемые значения, но размер детей не обновляется. Единственный раз, когда он обновляется, - это когда я снова переключаю видимость, а затем снова вижу. Вызов invalidate/requestLayout в представлении из java или forceUpdate из js не имеет никакого эффекта.
Есть ли какой-нибудь другой код, который мне нужно вызвать, чтобы аннулировать и перерисовать вид? Есть ли подсказка, которую мне нужно дать, чтобы отреагировать, что этот компонент прокручивается или реагирует на касание?