У меня есть View, RelativeLayout "gesLayout". Когда размер «gesLayout» изменяется, он вызывает метод «изменить размер».Изменить размер изображения в теме insn't UI Thread
gesLayout = new RelativeLayout(this) {
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
resize(); // -> bei Resize die Elemente neu anordnen.
super.onSizeChanged(w, h, oldw, oldh);
}
};
Вот метод изменения размера:
private void resize() {
runOnUiThread(new Runnable() {
@Override
public void run() {
ViewGroup.LayoutParams params = layButtons.getLayoutParams();
params.height = 500;
layButtons.setLayoutParams(params);
layButtons.invalidate();
}
});
}
Но высота другого макета не меняется. Но когда я запускаю тот же код, который находится в методе resize(), после нажатия кнопки он работает идеально.
Итак, мой вопрос: как я могу получить доступ к теме интерфейса здесь? Поскольку вы можете использовать runOnUiThread() - метод не работает.
P.S. Я уже проверил, что метод resize() вызывается правильно.
Я пробовал это раньше, но без какого-либо эффекта. И, как я сказал раньше: «Но когда я запускаю тот же код, который находится в методе resize(), после нажатия кнопки он работает идеально». –