Как я могу работать с макетами в Android Studio? - PullRequest
0 голосов
/ 05 февраля 2020

Можно ли как-то работать с макетами из папки ресурсов в java? У меня есть макет в папке Resorces, которая содержит RelativeLayout, который содержит LinearLayout и любые TextViews. И я хочу создать что-то вроде экземпляра класса и изменить, например, фон RelativeLayout и тексты в TextViews. Потому что тогда я хочу преобразовать это в растровое изображение (для которого я уже написал функцию). И я не хочу, чтобы это появилось. Все это в функции c. Возможно? Как мне создать что-то вроде переменной / класса? Извините за любые орфографические или композиционные ошибки. Я не являюсь носителем языка.

1 Ответ

0 голосов
/ 05 февраля 2020
    fun getLayout(layoutId: Int, context: Context) : ViewGroup {
        return LayoutInflater.from(context).inflate(layoutId, null, false) as ViewGroup 
    }

Это то, как вы получите программный макет из каталога ресурсов. Используя это так:

val myLayout = getLayout(R.layout.activity_main, context)

Изменение фона

  myLayout.setBackgroundColor(Color.RED)

Изменение текста

 myLayout.findViewById<TextView>(R.id.my_text_view).setText("Hello World")
...