Hi,

I have to make a pretty complex activity layout, which needs to scroll
vertically. It is composed into row sections, which are focusable
rows. Some rows may not be focusable themselves, but have internal
focusable items, like this:

 // This whole row gets highlighted and focusable.
 <LinearLayout>
    <TextView>
    etc
 </LinearLayout>

 // This row's internal controls get highlighted and focusable.
 <LinearLayout>
    <ImageView>
    <Button>
    <Button>
    <EditText>
    etc
 </LinearLayout>

  etc...

so there are about 5 different types of 'rows'. For now I've added
them all to a ScrollView, which means the entire layout is built once,
unlike a ListView, which tries to recreate each row as you scroll it
to save memory.

I'd like to use ListView, because it has built in support for
highlighting of rows, with a touch delay to discern between
ACTION_DOWN and ACTION_MOVE (which I can't get to work for
ScrollView).

In this case, I think ListView will be a problem for me. Each of my
'row types' is a pretty complex layout - images downloaded from the
net, many internal layouts - and also they may each have focusable
elements within (for example, the second row above has 2 focusable
buttons within it - I'd want these to get focus on scroll instead of
the entire row). When the user is scrolling a ListView, I'm worried
that the complexity of recreating each row will really slow things
down, as well as issues with focus paths etc.

ScrollView is working well for the moment, its just that it doesnt
help you discern between a tap and move event - so my rows get
highlighted even when the user starts scrolling with their finger,
which looks funny.

My options are to:

 1) Stick with ScrollView, and find a way to support checking between
ACTION_DOWN and ACTION_MOVE.
 2) Switch to ListView, and see if it can:
     a) Allow focus to widgets within a row
     b) Somehow turn off recycling of views (since some of the views
will be complex)

Any thoughts?

Thanks


-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to