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