Win a copy of Learning OpenStack Networking: Build a solid foundation in virtual networking technologies for OpenStack-based clouds this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Knute Snortum
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Ganesh Patekar
  • Stephan van Hulst
  • Pete Letkeman
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Ron McLeod
  • Vijitha Kumara

Floating view below ListView  RSS feed

 
Ranch Hand
Posts: 383
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi. I am trying to achive something like this (please don't laugh, I am no artist ):

So, there is a ListView holding items and below it is a TextView, but it could be anything. On the first figure, the list is scrolled totally up (the [] marks the scroll thumb), but the linear layout is visible. On the second figure, the list is scrolled a little down, but the view below it is still visible. I don't even know how to name this effect - is the below layout floating (it kind of floats above the list) or fixed (it's position is fixed)?

My approaches:
1. tried to use ListView.addFooter - it is always put below the last item on the list, so it's not what I want
2. tried having a (vertical by default) linear layout with a wrapping list view, like this:

This doesn't even show the text view when I scroll to the end of the list! Why is that?

3. I tried RelativeLayout like this:

but the result is exactly the same as #2 - no text view shown at all. What the heck?

I am out of ideas as I know too little about Android's UI. Maybe someone could give me some pointers how I could write the layout XML?

Regards,
Raf
 
Sheriff
Posts: 9613
37
Android Google Web Toolkit Hibernate IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You need to wrap your ListView in a ScrollView. Check this example...
 
Raf Szczypiorski
Ranch Hand
Posts: 383
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I know (more or less) how to use ScrollViews, but the example you point doesn't even have a ListView inside the ScrollView. Moreover, there is this Google I/O talk by the ListView devs and they say never to place a ListView inside a (vertical) ScrollView, as both are scrollable, and when you scroll, which one should? Here is the link: http://code.google.com/events/io/2010/sessions/world-of-listview-android.html.
 
Ankit Garg
Sheriff
Posts: 9613
37
Android Google Web Toolkit Hibernate IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Assign an android:layout_weight="1" to the list view, that will make the ListView take up all the space that's left after the button is displayed...
 
Raf Szczypiorski
Ranch Hand
Posts: 383
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, thank you, that did the trick. I don't know what the weight means for now and what the defaults are, and so what the 1 on the list changes, but I will get to that. For now, it works just fine.
Big thanks.
 
Rancher
Posts: 1369
1
Android Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Raf Szczypiorski wrote: I don't know what the weight means for now and what the defaults are, and so what the 1 on the list changes, but I will get to that.


The layout_weight property determines the ratio by which a control/widget shares any free space that is available in its container. Default value for weight parameter is "0" which means, a control will not take up any remaining space in the parent.

When you specified "1" for the ListView, it took up all the remaining space in the parent.
 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!