Установить гравитацию просмотра детей из цикла ограничений - PullRequest
0 голосов
/ 13 января 2019

когда я обращаюсь к дочерним элементам, которые динамически создаются как TextView с циклом ConstraintLayout, они возвращаются как View, у которых нет setGravity.

Кто-нибудь знает способ установки гравитации этих видов (гравитация для TextView / потомка, а не макета)?

for (int i = 0;i < constraintLayout.getChildCount();i++) {
    final View child = constraintLayout.getChildAt(i);
    Object tag = child.getTag(R.id.tagId);
    if(tag != null) {
        //child.setGravity(Gravity.START); // Doesn't work...
    } else {} }

Я не видел никакой опции для настройки Gravity через ConstraintLayout.LayoutParams или ConstraintSet.

Кроме того, я попытался final TextView child = (TextView) constraintLayout.getChildAt(i);: Однако это привело к фатальному исключению: java.lang.ClassCastException: android.widget.ImageView не может быть приведен к android.widget.TextView . Примечание: дети - это текстовые, а не изображения ...

1 Ответ

0 голосов
/ 13 января 2019

Сначала приведите представление к TextView, затем вызовите setGravity.

final View child = constraintLayout.getChildAt(i);
Object tag = child.getTag(R.id.tagId);
if (tag != null) {
    if (child instanceof TextView) {
        TextView tv = (TextView) child;
        tv.setGravity(Gravity.START);
    }
} else {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...