Android examples for User Interface:ListView
Set ListView's height via ViewGroup.LayoutParams
/*//from ww w. j a va2 s . co m * Copyright (C) 2016 venshine.cn@gmail.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //package com.java2s; import android.view.View; import android.view.ViewGroup; import android.widget.ListAdapter; import android.widget.ListView; public class Main { /** * Set ListView's height * * @param ListView * @param height */ public static void setListViewHeight(ListView ListView, int height) { int h = 0; if (height == 0) { h = getListViewHeight(ListView); if (h == 0 || ListView == null) { return; } } else { h = height; } ViewGroup.LayoutParams params = ListView.getLayoutParams(); params.height = h; ListView.setLayoutParams(params); } /** * Set ListView's height * * @param ListView */ public static void setListViewHeight(ListView ListView) { setListViewHeight(ListView, 0); } /** * Get ListView's height * * @param ListView * @return */ public static int getListViewHeight(ListView ListView) { if (ListView == null) { return 0; } ListAdapter listAdapter = ListView.getAdapter(); if (listAdapter == null) { return 0; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { View listItem = listAdapter.getView(i, null, ListView); listItem.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec .makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); totalHeight += listItem.getMeasuredHeight(); } return (totalHeight + (ListView.getDividerHeight() * (listAdapter .getCount() - 1))); } }