size_hint have the priority over size.
Setting width/height have no impact, since size_hint is still 1, 1.
If you want to use size, deactivate size_hint first.
In addition, read the scrollview to understand _how_ the child of the scrollview _must_ be managed.
The 'layout' of the scrollview was a widget, with size_hint 1, 1 => mean the children will have the same size of the scrollview => what do you want to scroll then?
I didn't test, but that might be better:
> accordion = Accordion(orientation='vertical', size_hint=(None, None), size=(640, 480))
>
> for i in xrange(5):
> item = AccordionItem(title='Title %d' % i)
>
> scroll_view = ScrollView()
>
> layout = GridLayout(cols=2, size_hint_y=None)
> layout.bind(height=layout.setter('minimum_height')
> for j in xrange(5):
> for k in xrange(5):
> btn = Button(text=str(i), size=(64, 64),
> size_hint=(None, None))
> btn.x = j * 128
> btn.y = k * 128
> layout.add_widget(btn)
>
> scroll_view.add_widget(layout)
> item.add_widget(scroll_view)
> accordion.add_widget(item)
>
> self.add_widget(accordion)
You should open an issue when you hit such bug.
Just tested the snippet, and it look like a bug :)
Mathieu
>>> Le 28 f�vr. 2012 � 09:11, jay a �crit :
Mathieu
And check our documentation about how to report an issue:
http://kivy.org/docs/contribute.html#reporting-an-issue
Mathieu