Я создал приложение, в котором я получаю данные с сервера. Итак, я использовал разбор JSON в своем коде. Я успешно проанализировал мой JSON с сервера. Теперь я хочу установить кнопки в макете в соответствии с их видимостью из ответа JSON.
Это означает, что если видимость истинна, то кнопка должна быть видимой, а если кнопка false - отключена Это работает, но если какая-то кнопка имеет видимость false, то в макете есть пробел. Итак, как настроить макет динамически, чтобы все видимые кнопки отображались в строке.
Я создал три линейных макета, каждая из которых содержит три кнопки. Теперь, если в ответе json указано видимость false для какой-либо кнопки, я отключил видимость для этой кнопки.
if (Menuname.equals("StudentDailyDiary")) {
studentdiary.setVisibility(View.VISIBLE);
moreOptionLayout.setVisibility(View.VISIBLE);
hrview.setVisibility(View.VISIBLE);
rlleftview.setVisibility(View.VISIBLE);
rlrightview.setVisibility(View.VISIBLE);
}
if (Menuname.equals("BookSearch")) {
studlibrary.setVisibility(View.VISIBLE);
moreOptionLayout.setVisibility(View.VISIBLE);
hrview.setVisibility(View.VISIBLE);
rlleftview.setVisibility(View.VISIBLE);
rlrightview.setVisibility(View.VISIBLE);
}
Скажем, в первом макете есть три кнопки, из которых вторая кнопка имеет видимость false, тогда в позиции второй кнопки должна быть размещена третья кнопка, не должно быть пустого пространства для кнопок во всем макете. То есть, если третья кнопка имеет видимость false, то первая кнопка второго макета должна быть установлена на позиции третьей кнопки.
![enter image description here](https://i.stack.imgur.com/Blph8.jpg)