>> 헤더 뷰 추가/제거 : addHeaderView( View ) / removeHeaderView( View )
>> 푸터 뷰 추가 : addFooterView( View ) / removeFooterView( View )
고정된 헤더나 푸터 뷰를 추가하는 메쏘드.
adapter 이외의 별도 뷰를 추가하는 용도로 사용된다. 여러개의 헤더, 푸터를 가질 수 있고,
레이아웃도 변경 가능하다.
위 메쏘드들은 adapter로 리스트를 구성하기전 (setAdapter)에 처리해 주어야 한다.
>> 화면에 보이고 있는 첫 아이템 포지션 : getFirstVisiblePosition()
>> x,y 포인터로 포지션 얻기 : pointToPosition(int, int)
boolean onTouchEvent(MotionEvent ev) {
int x = ev.getX();
int y = ev.getY();
int pos = pointToPosition( x, y );
if( pos == INVALID_POSITION ) {
아이템 없음.
}
>> 뷰얻기 : View v = getChildAt( pos );
pos를 직접 입력해 가져오는 건 위와 같지만, 포인터로 얻고자 하는 경우
pointToPosition 으로 얻어온 포지션에서 화면 첫 포지션(getFirstVisiblePosition)을
빼줘야 현재 선택한 row가 된다.
>> 스크롤 상태
myListView.setOnScrollListener( new OnScrollListener() {
public void onScroll(... ) {
}
public void onScrollStateChanged( AbsListView view, int scrollState ) {
if( scrollState == OnScrollListener.SCROLL_STATE_IDLE ) {
// 스크롤 정지 상태
}
if( scrollState == OnScrollListener.SCROLL_STATE_FILING) {
// 플링 중
}
if( scrollState == OnScrollListener.SCROLL_STATE_TOUCH_SCROLL ) {
// 사용자가 터치 중
}
}
});
'프로그래밍 > Android' 카테고리의 다른 글
sdk3.0 fragment를 하위버전에서 사용하기 (0) | 2011.10.19 |
---|---|
SurfaceView/GLSurfaceView (0) | 2011.10.11 |
Custom layout, layoutinflater (0) | 2011.10.11 |
MediaStore 썸네일 데이터 관련 정리 (0) | 2011.09.26 |
뷰의 크기 변경,이동 (0) | 2011.09.23 |
SQLite Database (0) | 2011.09.20 |
Edittext 관련 사항들 (0) | 2011.09.18 |
MediaStore 오디오 재생목록 (0) | 2011.09.17 |
List adapter (0) | 2011.09.15 |
낙서 (0) | 2011.09.07 |