歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android中listview 大小因分辨率而異

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

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