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