ScrollView의 ListView, GridView

ScrollView에 ListView를 넣은 글을 소개하는 것은 적지 않다. 총괄적으로 말하면 주로 두 가지로 나뉜다. 첫째, 동적 설정ListView의 크기 2. ListView 본문을 다시 쓰는 목적은 가장 간단한 방법으로 우리가 원하는 효과를 실현하는 것이다.
가장 간단한 방법은 ListVIew의 onMeasure 방법을 다시 쓰는 것입니다. 다음 코드를 보십시오.
public class ListViewForScrollView extends ListView {

	public ListViewForScrollView(Context context, AttributeSet attrs,
			int defStyle) {
		super(context, attrs, defStyle);
		// TODO Auto-generated constructor stub
	}

	public ListViewForScrollView(Context context, AttributeSet attrs) {
		super(context, attrs);
		// TODO Auto-generated constructor stub
	}

	public ListViewForScrollView(Context context) {
		super(context);
		// TODO Auto-generated constructor stub
	}

	/**
	 *      ,   ListView  ScrollView   
	 */
	@Override
	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
		int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
				MeasureSpec.AT_MOST);
		super.onMeasure(widthMeasureSpec, expandSpec);
	}

}
</pre><pre>

ScrollView는 mScrollView를 호출해야 합니다.smoothScrollTo(0, 0);
마찬가지로 GridView가 ScrollView에서 사용하는 것도 ListView와 같고 onMeasure 방법은 위의 ListVIew와 같다.

좋은 웹페이지 즐겨찾기