歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中listview 大小因分辨率而異

Android中listview 大小因分辨率而異

日期:2017/3/1 10:11:06   编辑:Linux編程

Android中listview 大小因分辨率而異代碼:

  1. // 獲得手機分辨率
  2. DisplayMetrics dm = new DisplayMetrics();
  3. getWindowManager().getDefaultDisplay().getMetrics(dm);
  4. String s = dm.widthPixels + "*" + dm.heightPixels;
  5. // listview 因分辨率而異
  6. if (s.equals("480*800") || s.equals("480*854"))
  7. FixStyle.setListViewHeightBasedOnChildren(listViewActivity, 32);
  8. else if (s.equals("320*480")) {
  9. FixStyle.setListViewHeightBasedOnChildren(listViewActivity, 22);
  10. }
  11. else if (s.equals("540*960") || s.equals("720*1280")) {
  12. Log.e("540*960", "540*960");
  13. FixStyle.setListViewHeightBasedOnChildren(listViewActivity, 32);
  14. }
  15. import android.view.ViewGroup;
  16. import android.widget.ListAdapter;
  17. import android.widget.ListView;
  18. public class FixStyle {
  19. public static void setListViewHeightBasedOnChildren(ListView listView,int itemHeight) {
  20. ListAdapter listAdapter = listView.getAdapter();
  21. if (listAdapter == null) {
  22. return;
  23. }
  24. int totalHeight = listAdapter.getCount() *itemHeight;
  25. ViewGroup.LayoutParams params = listView.getLayoutParams();
  26. params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
  27. listView.setLayoutParams(params);
  28. }
  29. }
Copyright © Linux教程網 All Rights Reserved