Hallo!
Das ist wahrscheinlich eine "Brett vor dem Kopf" Frage.
Ich möchte in einer Scrollview mehrere Spalten zeigen (im Beispiel 4). Die Zellen werden mit Text als Label Views gefüllt außer der 3. Spalte. Hier möchte ich transparente Bitmaps zeigen und benutze Imageview. Die Zeilen sollen im Wechsel eingefärbt werden (TableColor1 und 2), was bei den Label Views funktioniert, aber nicht bei den Bitmaps. Hier erscheint immer die Table Color (hier Magenta).
Was muss ich machen, um auch in Spalte 3 den transparenten Hintergrund der Bitmap wie in den anderen Spalten zu färben?
Grüße
Wosl
Beispiel Code:
Das ist wahrscheinlich eine "Brett vor dem Kopf" Frage.
Ich möchte in einer Scrollview mehrere Spalten zeigen (im Beispiel 4). Die Zellen werden mit Text als Label Views gefüllt außer der 3. Spalte. Hier möchte ich transparente Bitmaps zeigen und benutze Imageview. Die Zeilen sollen im Wechsel eingefärbt werden (TableColor1 und 2), was bei den Label Views funktioniert, aber nicht bei den Bitmaps. Hier erscheint immer die Table Color (hier Magenta).
Was muss ich machen, um auch in Spalte 3 den transparenten Hintergrund der Bitmap wie in den anderen Spalten zu färben?
Grüße
Wosl
Beispiel Code:
Scrollview example:
Sub FillSV
Private NumberofRows As Int = 100, NumberofColumns As Int = 4, iBackColor As Int
Private iColWidth(NumberofColumns) As String = Array As String("15.0", "50.0", "15.0", "20.0")
Private l As Label, ImageView1 As ImageView, scvMain As ScrollView, Table As Panel
Private TableFontSize As Float = 16, TableRowHeight As Int = 40dip
Private TableColor1 As Int = Colors.RGB(184,204,228)
Private TableColor2 As Int = Colors.RGB(220,230,241)
Private iRow As Int, iCol As Int
Private ColumnWidth As Int, ColumnWidthSum As Int
scvMain.Initialize(0)
Activity.AddView(scvMain,0,0,100%x,100%y)
Table = scvMain.Panel
Table.Color = Colors.Magenta
Table.Height = NumberofRows * TableRowHeight
For iRow = 0 To NumberofRows - 1
ColumnWidthSum = 0
For iCol = 0 To NumberofColumns - 1
ColumnWidth= scvMain.Width * iColWidth(iCol)/100.0
If iRow Mod 2 == 0 Then
iBackColor = TableColor1
Else
iBackColor = TableColor2
End If
If iCol <> 2 Then
l.Initialize("")
l.Text = "XYZ"
l.TextColor = Colors.Black
l.TextSize = TableFontSize
l.Color = iBackColor
l.Gravity = Gravity.CENTER_VERTICAL + Gravity.CENTER_HORIZONTAL
Table.AddView(l, ColumnWidthSum, TableRowHeight * iRow, ColumnWidth, TableRowHeight)
Else
Private Bitmap1 As Bitmap = LoadBitmapResize(File.DirAssets, "Pfeiloben.png", 0.5 * ColumnWidth, 0.5 * ColumnWidth, True)
ImageView1.Initialize("")
'' ImageView1.Color = Colors.Transparent
'' ImageView1.Color = iBackColor
ImageView1.Bitmap = Bitmap1
ImageView1.Width = ColumnWidth
ImageView1.Height = TableRowHeight
ImageView1.Gravity = Gravity.CENTER_VERTICAL + Gravity.CENTER_HORIZONTAL
Table.AddView(ImageView1,ColumnWidthSum, TableRowHeight * iRow, ColumnWidth, TableRowHeight)
End If
ColumnWidthSum = ColumnWidthSum + ColumnWidth
Next
Next
End Sub