Hallo,
ich versuche mich ein wenig in einer AndroidApp. Dazu möchte ich daten schön in einer Tabelle darzustellen. Ich bekomme sie in einer Tabelle dargestellt, aber nicht schön.
Aktuell sieht das eher wie eine alte HTML-Tabelle aus den 90er aus.
Nun gibt es ein tolle Youtube-Tutorial wie man Tabelle mit Tableview erstellt. Das nützt jedoch sehr wenig, weil es eben auf der XML-Ebene arbeitet und mit festgelegten Anzahlen von Rows und Textviews. Das Problem ist nicht, dass ich die Tabelle dynamisch hinbekommen. Mein Problem ist, wie ich im Code, die einzelnen tableview im Aussehen beeinflusse, was ich sonst im Layout mache.
Hier mal der Link zum Video:
Das dazugehöre GIT: https://github.com/ditook/MyTable
und meine Tabelle aktuelle Tabelle, die noch statisch ist aber später in einer schleife dynamisch über die Liste iteriert generiert werden soll
Lange Rede kurzer Sinn. Wie kann ich die ganzen Parameter für das Textview design im Code layout_weight, layout_width oder layout_height usw. im Code/Dynamisch dem jeweiligen Textview hinzufügen?
Gibt es ein anderes Beispiel/Tutorial bzw. für eine DataTable in Android?
VG niesel
ich versuche mich ein wenig in einer AndroidApp. Dazu möchte ich daten schön in einer Tabelle darzustellen. Ich bekomme sie in einer Tabelle dargestellt, aber nicht schön.
Aktuell sieht das eher wie eine alte HTML-Tabelle aus den 90er aus.
Nun gibt es ein tolle Youtube-Tutorial wie man Tabelle mit Tableview erstellt. Das nützt jedoch sehr wenig, weil es eben auf der XML-Ebene arbeitet und mit festgelegten Anzahlen von Rows und Textviews. Das Problem ist nicht, dass ich die Tabelle dynamisch hinbekommen. Mein Problem ist, wie ich im Code, die einzelnen tableview im Aussehen beeinflusse, was ich sonst im Layout mache.
Hier mal der Link zum Video:
und meine Tabelle aktuelle Tabelle, die noch statisch ist aber später in einer schleife dynamisch über die Liste iteriert generiert werden soll
Java:
fun addTable(tempList: GartenTempResponse) {
var tblLayout: TableLayout = findViewById(R.id.tableMain)
val tbrow0 : TableRow= TableRow(this)
val tv0 = TextView(this)
val tv1 = TextView(this)
val tv2 = TextView(this)
tv0.text = ""
tv0.setPadding(10,10,10,10)
tv0.lay
tv1.setPadding(10,10,10,10)
tv1.text = "Aussen"
tv2.setPadding(10,10,10,10)
tv2.text = "Innen"
tbrow0.addView(tv0)
tbrow0.addView(tv1)
tbrow0.addView(tv2)
tblLayout.addView(tbrow0)
val maxTemps=CalcAggreateTemp(tempList).calcMaxTemps()
val minTemps = CalcAggreateTemp(tempList).calcMinTemps()
val avgTemps =CalcAggreateTemp(tempList).calcAvgTemps()
val currentTemps = CalcAggreateTemp(tempList).currentTemps()
//current
val tableRowCurrent = TableRow(this)
val tvCurrentTemp0 = TextView(this)
tvCurrentTemp0.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvCurrentTemp0.setPadding(10,10,10,10)
tvCurrentTemp0.text = "Akt. Temperatur"
tvCurrentTemp0.setTextColor(Color.BLACK)
tvCurrentTemp0.gravity = Gravity.CENTER_HORIZONTAL
tableRowCurrent.addView(tvCurrentTemp0)
val tvCurrentTemp1 = TextView(this)
tvCurrentTemp1.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvCurrentTemp1.setPadding(10,10,10,10)
tvCurrentTemp1.text = currentTemps["temp1"].toString()
tvCurrentTemp1.setTextColor(Color.BLACK)
tvCurrentTemp1.gravity = Gravity.CENTER_HORIZONTAL
tableRowCurrent.addView(tvCurrentTemp1)
val tvCurrentTemp2 = TextView(this)
tvCurrentTemp2.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvCurrentTemp2.setPadding(10,10,10,10)
tvCurrentTemp2.text = currentTemps["temp2"].toString()
tvCurrentTemp2.setTextColor(Color.BLACK)
tvCurrentTemp2.gravity = Gravity.CENTER_HORIZONTAL
tableRowCurrent.addView(tvCurrentTemp2)
tblLayout.addView(tableRowCurrent)
//maximum
val tableRowMax = TableRow(this)
val tvMaxTemp0 = TextView(this)
tvMaxTemp0.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvMaxTemp0.setPadding(10,10,10,10)
tvMaxTemp0.text = "max. Temperatur:"
tvMaxTemp0.setTextColor(Color.BLACK)
tvMaxTemp0.gravity = Gravity.CENTER_HORIZONTAL
tableRowMax.addView(tvMaxTemp0)
val tvMaxTemp1 = TextView(this)
tvMaxTemp1.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvMaxTemp1.setPadding(10,10,10,10)
tvMaxTemp1.text = maxTemps["temp1"].toString()
tvMaxTemp1.setTextColor(Color.BLACK)
tvMaxTemp1.gravity = Gravity.CENTER_HORIZONTAL
tableRowMax.addView(tvMaxTemp1)
val tvMaxTemp2 = TextView(this)
tvMaxTemp2.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvMaxTemp2.setPadding(10,10,10,10)
tvMaxTemp2.text = maxTemps["temp2"].toString()
tvMaxTemp2.setTextColor(Color.BLACK)
tvMaxTemp2.gravity = Gravity.CENTER_HORIZONTAL
tableRowMax.addView(tvMaxTemp2)
tblLayout.addView(tableRowMax)
//Minimum
val tableRowMin = TableRow(this)
val tvMinTemp0 = TextView(this)
tvMinTemp0.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvMinTemp0.setPadding(10,10,10,10)
tvMinTemp0.text = "min. Temperatur:"
tvMinTemp0.setTextColor(Color.BLACK)
tvMinTemp0.gravity = Gravity.CENTER_HORIZONTAL
tableRowMin.addView(tvMinTemp0)
val tvMinTemp1 = TextView(this)
tvMinTemp1.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvMinTemp1.setPadding(10,10,10,10)
tvMinTemp1.text = minTemps["temp1"].toString()
tvMinTemp1.setTextColor(Color.BLACK)
tvMinTemp1.gravity = Gravity.CENTER_HORIZONTAL
tableRowMin.addView(tvMinTemp1)
val tvMinTemp2 = TextView(this)
tvMinTemp2.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvMinTemp2.setPadding(10,10,10,10)
tvMinTemp2.text = minTemps["temp2"].toString()
tvMinTemp2.setTextColor(Color.BLACK)
tvMinTemp2.gravity = Gravity.CENTER_HORIZONTAL
tableRowMin.addView(tvMinTemp2)
tblLayout.addView(tableRowMin)
//Minimum
val tableRowAvg = TableRow(this)
val tvAvgTemp0 = TextView(this)
tvAvgTemp0.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvAvgTemp0.setPadding(10,10,10,10)
tvAvgTemp0.text = "∅ Temperatur:"
tvAvgTemp0.setTextColor(Color.BLACK)
tvAvgTemp0.gravity = Gravity.CENTER_HORIZONTAL
tableRowAvg.addView(tvAvgTemp0)
val tvAvgTemp1 = TextView(this)
tvAvgTemp1.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvAvgTemp1.setPadding(10,10,10,10)
tvAvgTemp1.text = avgTemps["temp1"].toString()
tvAvgTemp1.setTextColor(Color.BLACK)
tvAvgTemp1.gravity = Gravity.CENTER_HORIZONTAL
tableRowAvg.addView(tvAvgTemp1)
val tvAvgTemp2= TextView(this)
tvAvgTemp2.background = (ContextCompat.getDrawable(this, R.drawable.cell_border))
tvAvgTemp2.setPadding(10,10,10,10)
tvAvgTemp2.text = avgTemps["temp2"].toString()
tvAvgTemp2.setTextColor(Color.BLACK)
tvAvgTemp2.gravity = Gravity.CENTER_HORIZONTAL
tableRowAvg.addView(tvAvgTemp2)
tblLayout.addView(tableRowAvg)
}
Lange Rede kurzer Sinn. Wie kann ich die ganzen Parameter für das Textview design im Code layout_weight, layout_width oder layout_height usw. im Code/Dynamisch dem jeweiligen Textview hinzufügen?
Gibt es ein anderes Beispiel/Tutorial bzw. für eine DataTable in Android?
VG niesel