使用ListView和volley寫了一個使用網絡獲取天氣的demo
ListView中Item的文本模式都是左側對齊
我這邊需要一些標題文本居中對齊
網上也找不到示例,不過找到了getView這個函數
於是自己摸索出了代碼:
方式就是在adapter的getView中判斷是否含有指定的item,如果有那么就設置這個item的文本居中:
1 this.adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data){ 2 @Override 3 public boolean isEnabled(int position) { 4 return false; //設置item不能點擊 5 } 6 7 @Override 8 public View getView(int position, View convertView, ViewGroup parent) { 9 View view = super.getView(position, convertView, parent); 10 TextView et = (TextView)view; 11 if(true==et.getText().toString().contains("天的天氣")){ 12 et.setGravity(Gravity.CENTER); 13 }else{ 14 et.setGravity(Gravity.LEFT); //這句是必須的-如果去掉來回滑動幾次,會有錯誤的item居中 15 } 16 view = (View)et; 17 return view; 18 } 19 };
效果圖:(模擬器上截的圖,我手機上是顯示item之間的橫線的,模擬器上不知道為啥不知道不顯示!可能模擬器使用的SDK版本和我真機不一樣!)