Я хочу создать TableLayout
с двумя столбцами. Первый столбец будет отображаться внутри ImageView
и должен иметь ширину изображения. Второй столбец должен занимать все оставшееся пространство (чтобы соответствовать ширине строки).
TableLayout(context).apply {
myList.forEach {
val tableRow = TableRow(context)
tableRow.setBackgroundColor(Color.GREEN)
tableRow.addView(ImageView(context).apply {
setImageResource(R.drawable.ic_blabla)
})
tableRow.addView(TextView(context).apply {
text = it.code.toString()
setBackgroundColor(Color.YELLOW)
layoutParams = TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
TableRow.LayoutParams.WRAP_CONTENT)
})
addView(tableRow)
}
myLinearLayout.addView(this)
}
Макет таблицы программно добавляется к линейному макету:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/myLinearLayout"/>
В результате я получаю два столбца, но оба имеют ширину содержимого. Строка имеет зеленый фон, поэтому я вижу, что она имеет ширину экрана, но второй столбец с желтым фоном имеет ширину текста, отображаемого внутри.
Любая идея, как я могу установить ширину второго столбца, чтобы занять все это пространство?