Hallo,
ich habe mich, als ich mit der App begonnen habe, entschieden das ganze mit Panels zu machen (funktioniert ganz gut).
Diese Panels habe ich im Designer erstellt. An einigen Stellen habe ich das dann im Code "dynamisiert". Dabei habe ich ein (kleines) Problem und eine Frage. Das Setup Panel zeigt z.B. das Label lbl_Phat nicht an. Erst wenn etwas drin steht wird es eingeblendet. Entsprechend wird die Position der Elemete durch den Code angepasst. Leider funktioniert das nicht auf allen Gräten optimal.
Hier der Verwendete Code:
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Das zugehörige File habe ich abgehangen. Dieses wird in ein ScrollView geladen. 
Bei meinem Betatester auf dem Tablet klappt die Positionierung nicht ganz (Elemente überdecken sich z.T.). Ich vermute das es an den dpi Angaben liegt, bin mir aber nicht sicher und habe keine Idee wie ich das besser machen kann.
Zum anderen habe ich noch eine Frage bzgl. des Designer Script's.
Im Moment passe ich einige Sachen im Code (in der Main Activity) an. Macht es Sinn dieses eher im Designer Script zu machen? Wenn ich das richtig gelesen habe ist das vom (Programm)Ablauf her egal, da ich die Panels auch in der Main Activity lade und danach anpasse. Wenn ich das in den Designer Script verschiebe würde sich ja nur der Code in der Main Activity "lichten", oder habe ich da noch was falsch verstanden?
Grüße
			
			ich habe mich, als ich mit der App begonnen habe, entschieden das ganze mit Panels zu machen (funktioniert ganz gut).
Diese Panels habe ich im Designer erstellt. An einigen Stellen habe ich das dann im Code "dynamisiert". Dabei habe ich ein (kleines) Problem und eine Frage. Das Setup Panel zeigt z.B. das Label lbl_Phat nicht an. Erst wenn etwas drin steht wird es eingeblendet. Entsprechend wird die Position der Elemete durch den Code angepasst. Leider funktioniert das nicht auf allen Gräten optimal.
Hier der Verwendete Code:
			
				B4X:
			
		
		
		sub mv_fields    
If lbl_Phat.Text <>"" Then
                            lbl_Phat.Visible =True
                            lbl_Speicher.Top=lbl_Phat.Top+ lbl_Phat.Height + 10dip
                            SpinnerSaveMode.Top=lbl_Phat.Top+ lbl_Phat.Height + 10dip
    Else
                            lbl_Phat.Visible =False
                            lbl_Speicher.Top=btn_PhatSel.Top+btn_PhatSel.Height +10dip
                            SpinnerSaveMode.Top=btn_PhatSel.Top+btn_PhatSel.Height +10dip
    End If
   
    If lbl_DateiName.Visible =True Then
                                         lbl_Trenn_1.Top=lbl_DateiName.Top+lbl_DateiName.Height '+5dip
    Else
                                         lbl_Trenn_1.Top=lbl_Speicher.Top+lbl_Speicher.Height' +5dip
    End If
   
    btn_PhatListen.Top=lbl_Trenn_1.top + 30dip
    lbl_PhatListen.Top=lbl_Trenn_1.top + 90dip   
   
    If lbl_PhatListen.Text <>"" Then
                                    lbl_PhatListen.Visible=True
                                    btn_Reset_List.Visible =True
                                    btn_Reset_List.Top=lbl_PhatListen.top + 100dip
                                    lbl_Trenn_2.Top= btn_Reset_List.top + 40dip
    Else
                                    lbl_PhatListen.Visible=False
                                    btn_Reset_List.Visible =False
                                    lbl_Trenn_2.Top=btn_PhatListen.Top +btn_PhatListen.Height +10dip
    End If
   
    lbl_licht.top=lbl_Trenn_2.Top + 30dip: ToggleButton1.top =lbl_Trenn_2.top + 30dip
    lbl_Trenn_3.top =lbl_Trenn_2.top + 80dip
    lbl_Trenn_4.top =lbl_Trenn_3.top + lbl_ADIF_City.Height + 20dip
    btn_Baender.Top = lbl_Trenn_4.Top + lbl_Trenn_4.Height + 5dip
    lbl_Trenn_5.top =btn_Baender.Top+btn_Baender.Height+5dip
    lbl_DateFormat.Top=lbl_Trenn_5.Top + lbl_Trenn_5.Height + 5dip
    SpinnerDateFormat.Top=lbl_DateFormat.top
    lbl_Trenn_6.top =lbl_DateFormat.Top+lbl_DateFormat.Height+5dip
    btn_own_Call.Top=lbl_Trenn_6.top + 30dip
    lbl_own_Call.Top=lbl_Trenn_6.Top + 30dip   
    lbl_Trenn_7.top =btn_own_Call.Top+btn_own_Call.Height+5dip
    btn_SetUp3.Top=lbl_Trenn_7.Top+lbl_Trenn_7.Height
    lbl_Trenn_8.Top=btn_SetUp3.top+btn_SetUp3.height
    btn_Backup_einrichten.Top=lbl_Trenn_8.Top+lbl_Trenn_8.Height
    lbl_Trenn_9.Top=btn_Backup_einrichten.Top + btn_Backup_einrichten.Height
    btn_Reset_GMAup.Top=lbl_Trenn_9.Top+lbl_Trenn_9.Height
    lbl_Trenn_10.Top=btn_Reset_GMAup.Top + btn_Reset_GMAup.Height
    btn_Reset_GDrive.Top=lbl_Trenn_10.Top+lbl_Trenn_10.Height
    lbl_Trenn_11.Top=btn_Reset_GDrive.Top+btn_Reset_GDrive.Height
   
    spn_adif_exp.Top =lbl_Trenn_2.Top + 110dip : lbl_ADIF_City.Top=spn_adif_exp.Top
   
    btn_Reset.Top        =lbl_Trenn_11.Top + 40dip
    btn_SetUp_Cancel.Top =lbl_Trenn_11.Top + 40dip
    btn_Save_SetUp.Top   =lbl_Trenn_11.Top + 40dip
   
    SV.Panel.Height = btn_Save_SetUp.Top + btn_Save_SetUp.Height +50dip
End Sub
	Bei meinem Betatester auf dem Tablet klappt die Positionierung nicht ganz (Elemente überdecken sich z.T.). Ich vermute das es an den dpi Angaben liegt, bin mir aber nicht sicher und habe keine Idee wie ich das besser machen kann.
Zum anderen habe ich noch eine Frage bzgl. des Designer Script's.
Im Moment passe ich einige Sachen im Code (in der Main Activity) an. Macht es Sinn dieses eher im Designer Script zu machen? Wenn ich das richtig gelesen habe ist das vom (Programm)Ablauf her egal, da ich die Panels auch in der Main Activity lade und danach anpasse. Wenn ich das in den Designer Script verschiebe würde sich ja nur der Code in der Main Activity "lichten", oder habe ich da noch was falsch verstanden?
Grüße