设置ListView高度以显示所有可用项目

mus*_*afa 2 android listview android-listview

我在ScrollView中有一个ListView.

如何设置ListView的高度,以使其适配器中的所有项都适合它,而不需要滚动.

pho*_*van 9

如果您想要一个不滚动的项目列表,则称为线性布局.

如果你想要,你可以自定义listview为:

public class NonScrollListView extends ListView {

    public NonScrollListView(Context context) {
        super(context);
    }
    public NonScrollListView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public NonScrollListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
    @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            int heightMeasureSpec_custom = MeasureSpec.makeMeasureSpec(
                    Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
            super.onMeasure(widthMeasureSpec, heightMeasureSpec_custom);
            ViewGroup.LayoutParams params = getLayoutParams();
            params.height = getMeasuredHeight();    
    }
}
Run Code Online (Sandbox Code Playgroud)