그림과 같이 레이아웃을 구성하려고 합니다.
전체를 감싸는 ScrollView, 그 안에 두개의 LinearLayout 이 있습니다.
첫번째 LinearLayout 에는 ListView 가 담겨져 있고, 두번째 LinearLayout 에는 이미지 등의 내용물이 담기게 됩니다.
두번째 LinearLayout 의 height 에 따라 이것을 감싸고 있는 ScrollView 로 인하여 스크롤이 가능하도록 하고,
ListView 역시 스크롤이 가능하게 하려고 합니다.
첫번째 LinearLayout 의 크기가 지정되있으므로 이 크기 안에서 ListView 가 스크롤이 되므로,
ListView 에 footerView 를 첨가하는 것은 맞지 않다고 생각합니다. 어떠한 방향으로 접근해야 하는지 공유하였으면 좋겠습니다.
어떤면에서 전체적인 UI 측면에서 크게 좋지 않은 방법이라고 생각하시는지요?
세로모드에서 지원하려는 UI 입니다.
그리고 ListView 의 아이템을 클릭하여 그 정보를 아래쪽 LinearLayout 에 보내주려는 것은 아닙니다.
두개의 LinearLayout 이 별개 이구요.
해결하였습니다. 저처럼 같은방식으로 UI 가 필요하신분들을 위해서 댓글을 남깁니다.
스크롤뷰에 리스트뷰가 존재한다면, 전체적인 스크롤뷰를 통해 스크롤이 되겠지만, 아마 리스트뷰의 스크롤은 되지 않으리라 생각합니다.
그렇기에,
리스트뷰에 터치리스너를 입힌후에, 그 모션이벤트가 ACTION_MOVE 라면, 리스트뷰의 scrollBy 메소드를 통하여 스크롤을 구현하였습니다.
int listviewTouchAction;
listview.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event)
{
listviewTouchAction = event.getAction();
if(listviewTouchAction == MotionEvent.ACTION_MOVE)
{
listview.scrollBy(0, 1);
}
return false;
}
}
가능하지 않을까요?
핸드폰에 사용하시려는 거라면, 위에는 ListView로 구성하고 아래에는 LinearLayout으로 구성하고 전체를 ScrollView로 감싼다는것
가능하리라 보지만, 전체적인 UI측면에서는 크게 좋지 않은 방법이라고 생각합니다. 그것도 세로로는요;
가로 모드에서는 저런 UI가 양쪽으로 펼쳐져 있다면 보다 보기 좋을 것이라고 생각이 듭니다.
Android 3.0부터 나온 Fragment라는 것을 이용해 보는 것도 괜찮을듯 하네요
(물론 Android 2.2부터 사용할 수 있는 방법도 있지요, 게시물 검색을 해보시면 Library추가하는 법 등에 대한 글이 있더군요)
보기에는 위에 ListView를 클릭함으로써 어떤 이벤트나 정보등을 아래쪽 LinearLayout에 보내주어 Image등을 띄우실거 같은데, 정보전달에 있어서 Fragment가 상당부분 용이하지요
Android 4.0부터 Fragment도 다소 사용되는 듯 하니 그쪽으로 Layout Form을 정하는 것도 괜찮을듯 보입니다.