Как добавить строковый ресурс в TextView и применить к нему гравитацию Android? - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть textView, в который я добавляю строковый ресурс с помощью Reflextion.

fun reflexionAtWork(myCar : String) : Int{    
           val res = R.string::class.java
           val field = res.getField(numStrofa)
           val drawableId = field.getInt(null)
           return drawableId
}

Я могу использовать эту функцию и добавлять строки в мой textView. Мне было интересно, если кто-нибудь здесь может помочь мне центрировать определенные струны.

Вот как я вызываю эту функцию в моей программе.

myTextView.append(getString(reflexionAtWork("car" + model + "_year" + index)))
myTextView.append(getString(reflexionAtWork("parts" + number + "_year")))

Есть ли способ отцентрировать вторую добавленную строку. Я понимаю, что если я сделаю myTextView.gravity = Gravity.center, все это будет по центру. (Я попробовал это).

Я также пытался сделать первое добавление влево и по центру каждый раз (это используется в цикле).

Я пробовал это (не работает)

myTextView.gravity = Gravity.left
 myTextView.append(getString(reflexionAtWork("car" + model + "_year" + index)))
 myTextView.gravity = Gravity.center
 myTextView.append(getString(reflexionAtWork("parts" + number + "_year")))

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

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

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

0 голосов
/ 14 сентября 2018

Лучше всего разбить myTextView на несколько текстовых полей; один по левому краю, один по центру. Я не уверен, насколько это возможно с вашими текстовыми значениями, но таким образом вы можете иметь правильное форматирование для каждого поля.

...