Android动态计算ListView高度
来源:互联网 发布:audition cc 2017 mac 编辑:程序博客网 时间:2024/05/08 16:13
1:上布局代码;
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.administrator.myapplication.MainActivity"> <ListView android:id="@+id/lv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /></RelativeLayout>2:设置数据;
ArrayList<String> datas = new ArrayList<>(); for (int i = 0; i < 50; i++) { datas.add("测试数据" + i); } ListView listView = (ListView) findViewById(R.id.lv); listView.setAdapter(new MyBaseAdapter(datas));
3:适配器;
//适配器 private class MyBaseAdapter extends BaseAdapter { private ArrayList<String> datas; private MyBaseAdapter(ArrayList<String> datas) { this.datas = datas; } @Override public int getCount() { return datas.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView textView = new TextView(MainActivity.this); textView.setText(datas.get(position)); textView.setPadding(0, 40, 0, 40); textView.setGravity(Gravity.CENTER_HORIZONTAL); return textView; } }
3:关键的一步,在设置过适配器以后,调用以下方法为ListView设置高度;
public void setListViewHeightBasedOnChildren(ListView listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { View listItem = listAdapter.getView(i, null, listView); //计算item的宽高 listItem.measure(0, 0); //累计所有item的高度 totalHeight += listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params = listView.getLayoutParams(); params.height = totalHeight + (listView.getDividerHeight()) *(listAdapter.getCount()-1); listView.setLayoutParams(params); }
0 0
- Android动态计算ListView高度
- 动态计算Listview高度
- listview 动态计算高度
- android 计算ListView 高度
- Android中动态计算ListView高度方法(适用于ScrollView嵌套)
- android 计算listview的高度
- android 动态设置ListView 高度
- 动态计算ListView高度的工具类
- scrollview中嵌入listview动态计算listview的高度
- 【Android多屏适配】动态改变Listview item高度
- Android动态获取ListView的高度
- Android 动态获取ListView的高度
- Android动态改变ListView的高度
- android给ListView动态设置高度
- android 动态设置listview gridview高度
- Android 动态获取ListView的高度
- Android 动态获取ListView的高度
- Android 动态设置 ListView 和 GridView 高度
- Xcode8中CoreData编译出错的解决方法
- poj_3130 How I Mathematician Wonder What You Are!(半平面交)
- 【书籍】2017非技术书籍目标
- Javascript—简单电子时钟制作总结
- ORA-01830:日期格式图片在转换整个输入字符串之前结束
- Android动态计算ListView高度
- tp框架事务处理
- 中点扫描算法画圆弧(OpenGL)
- 【Unity&NGUI】背包系统崩溃的解决办法
- js模块模式
- iOS10注册推送的细节
- 二叉树的遍历及重建
- HTML学习
- mybatis入门--mybatis和其他持久层工具比较