ScrollView嵌套ListVeiw时代码计算listView的高度

    xiaoxiao2021-04-18  52

    public class MainActivity extends AppCompatActivity { private ListView listView; private List<String> list=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找控件 listView = (ListView) findViewById(R.id.listView); //初始化数据 initData(); //创建适配器 ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,list); int totleHeight=0; //获取数量 for (int i = 0; i < adapter.getCount(); i++) { //获取条目视图 View listItem = adapter.getView(i, null, listView); //计算条目高度 listItem.measure(0,0); //计算总高度 totleHeight+=listItem.getMeasuredHeight(); } ViewGroup.LayoutParams params=listView.getLayoutParams(); params.height=totleHeight+(listView.getDividerHeight()*(adapter.getCount()-1)); //设置总高度 listView.setLayoutParams(params); //设置适配器 listView.setAdapter(adapter); } private void initData() { for (int i = 0; i < 50; i++) { list.add("条目展示:"+i); } } }
    转载请注明原文地址: https://ju.6miu.com/read-674738.html

    最新回复(0)