使用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版本和我真机不一样!)