listView 动态设置高度

这个是设置当输入的文字达到软键盘的最底端的时候,防止其被软键盘挡住:

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

动态设置listview的高度:

if (null != list) {
			ListAdapter listAdapter = list.getAdapter();
			if (listAdapter == null) {
				return;
			}
			int totalHeight = 0;
			for (int i = 0; i < listAdapter.getCount(); i++) {
				View listItem = listAdapter.getView(i, null, list);
				listItem.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED);
				totalHeight += listItem.getMeasuredHeight();
			}
			ViewGroup.LayoutParams params = list.getLayoutParams();
			if (null != params) {
				params.height = totalHeight + list.getDividerHeight()
						* (listAdapter.getCount() - 1);
				View reminderLayout = findViewById(R.id.reminder_layout);
				int maxListHeight = 0;
				if (null != reminderLayout
						&& reminderLayout.getVisibility() == View.VISIBLE) {
					maxListHeight = mRecordShowHeight * (RECORD_ITEM_COUNT - 1);
				} else {
					maxListHeight = mRecordShowHeight * RECORD_ITEM_COUNT;
				}
				params.height = params.height > maxListHeight ? maxListHeight : params.height;
			}
		}


</pre><pre>


你可能感兴趣的:(android,ListView)