Italian scrollBar panel

ivanomonti

Expert
Licensed User
Longtime User
ciao a tutti e buon giorno, ho un problema di questo tipo

1) pannello alto 1000dip largo 100%x
2) nel suo interno ben 20 object (TextEdit,CheckBox,Button)

ora ho provato ad inserire anche una scrollView e inseirire il pannello con:

B4X:
    Dim sv As ScrollView
    sv.Initialize(1000dip)
    sv.Panel.AddView(Panel1,0,0,Panel1.Width,Panel1.Height)

Ma mi consegna un errore di tipo parentela che non esiste, ma fose parla di view imparentati con Panel1 mmm "the specifified chil already has a parent, you must call removeView() on the child parent first"

che non ho idea di come risolvere, ma il panel non ha la sua scrollbar?
 

djveleno

Active Member
Licensed User
Longtime User
Se non hai creato il tutto con il designer io farei così:
B4X:
Dim panel1 As Panel
Dim sv As ScrollView

panel1.Initialize("panel1")
Activity.AddView(panel1,0,Activity.Height 1000dip,100%x)
sv.Initialize(0)
Activity.AddView(sv,0,100%x,panel1.Top)
In pratica dichiarerei sia il panel che lo scrollview.
 

ivanomonti

Expert
Licensed User
Longtime User
Si faccio, il problema che se il pannello l'ho già costruito a design con nel suo interno textEdit, button o quant'altro scrollview non lo accetta, in quanto trova elementi già imparentati (elementi figli (child) )

dovrei ridisegnare tutto a codice, ma anche questo lo trovo uno spreco di tempo, peccato, tutto questo con un pannello vuoto non succede.
 

adalexander

Member
Licensed User
Longtime User
Se non hai creato il tutto con il designer io farei così:
B4X:
Dim panel1 As Panel
Dim sv As ScrollView

panel1.Initialize("panel1")
Activity.AddView(panel1,0,Activity.Height 1000dip,100%x)
sv.Initialize(0)
Activity.AddView(sv,0,100%x,panel1.Top)
In pratica dichiarerei sia il panel che lo scrollview.
salve a tutti, stesso problema sono 2 settimane che mi sbatto per fare un semplice scroll in questo programma assurdo, ho fatto come scrivete da sempre errore e non va avanti allora ho fatto così:
Panel1.Initialize("panel1")
Sc.Initialize(1000dip)
Activity.AddView(Sc,0%x,10%y,100%x,100%y)
Sc.Panel.width=200%x
Sc.Panel.height=500%y
si vede lo scroll che si muove ma tutto il resto è fermo, capisco che sono un po scarsetto in questo programma, ma anche questo forum non è molto solidale, finora solo consigli disorientanti, ho chiesto anche ad erel ma non capisce bene l'inglese, comunque ormai ho abbandonato questo programma, ci vuole una laurea anche per scrivere ciao, e me lo avevano consigliato come semplice, complimenti semplicissimo, grazie ancora per il vostro tempo e auguri a tutti!
 

klaus

Expert
Licensed User
Longtime User
What exactly do you want to do ?
In this thread you aked a question, I answered you to look at examples in the ScrollView Example Summary thread where you find examples. As you never answered my suggestion, this means, for me, that you found a solution !

Explain exactly what you want to do and post your project as a zip file so we could see what you have done and how.
It is almost impossible to help with a few code snippets and not knowing what the real problem is.
You need to answer following questions:
- where is your Panel1 defined ?
-- in the code or in the Designer ?
- where and how do you add other views to Panel1.

In your code you initialize Panel1 but don't do anything else with it, why ?
In the code in post #4 Panel1 id added onto the Activity which is wrong.
If you want to see Panel1 scrolling in the ScrollView.
You must add Panel1 onto sv.Panel like :
sv.Panel.AddView(Panel1, 0, 0, 100%x, 200%y)
To see the scrolling you need to set also
sv.Panel.Height = 200%y
In the code examples above 200%y is an example, this value is the height of Panel1.
It depends on the views you have on Panel1.

You don't necessarily need to add a panel onto the ScrollView, you can add any views directly onto the internal Panel of the ScrollView with ScrollView1.Panel.AddView(....)

Did you look at some of the examples in ScrollView Example Summary ?

Again, explain exactly what you want to do and post your project as a zip file and I will have a look at it.
 
Top