Reputation: 171
I am facing a problem that in my Compose.xml
there is nested LinearLayout
in scroll but when I run the application scroll is not working:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
</LinearLayout>
</ScrollView>
Upvotes: 1
Views: 1180
Reputation: 11
ScrollView
can have only one child. You can put these layout into one linear layout then your scroll view will work.
For more detail read android documentation.
Upvotes: 0
Reputation: 1505
First of all, why do you need that much linearLayouts there? Try use one nested LinearLayout and put all the Buttons in it, one after another. Here's pseudocode.
<ScrollView>
<LinearLayout>
<Button/>
<Button/>
...
<Button/>
</LinearLayout>
</Scrollview>
Also, if it won't help, try to remove this
android:fillViewport="true"
Upvotes: 2
Reputation: 13555
Try this way
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
</ScrollView>
Upvotes: 0
Reputation: 832
Its already scrolling in My device Moto X2 Your code hase no error, but it takes too much time to load.You can see scrollbar at right side in screenshot below.
So don't use too much layout without need. More layouts will take more time to load data, You can also use Single Linear layout and put all buttons into that layout
You can write your code like this :
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="erfer" />
</LinearLayout>
</ScrollView>
Upvotes: 3