Добавление нескольких пользовательских представлений внутри Layout программным способом с использованием нескольких строк при необходимости - PullRequest
0 голосов
/ 05 августа 2020

В Java при создании приложения Android мне нужно создать одно или несколько настраиваемых представлений и вставить их в макет.

Каждое представление может иметь разную ширину. Высота всегда одинакова. Я хотел бы разместить каждое представление рядом, и если будет достигнута правая граница экрана, следующее должно go перейти на новую строку.

Фактически, представьте, что каждое представление представляет собой слово, все слова - абзац. Таким образом, все мои пользовательские представления должны быть размещены, как слова, рядом и строка за строкой.

Есть ли способ легко сделать это с любым существующим объектом Android?

1 Ответ

1 голос
/ 05 августа 2020

Вы можете попробовать ChipGroup и Chip. Я думаю, это будет соответствовать вашим требованиям. Сначала добавьте ChipGroup в ваше представление xml, например:

<com.google.android.material.chip.ChipGroup
    android:id="@+id/cgWords"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Затем, чтобы динамически добавить Chip в это, пример кода может быть следующим:

private void showTags(List<String> words) {
    for (String word : words) {
        Chip chip = new Chip(context);
        chip.setText(word);
        ChipGroup cgWords = findViewById(R.id.cgWords);
        cgWords.addView(chip);
    }
}

Это снимок экрана после запуска примера кода:

введите описание изображения здесь

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