ListView设置某一项item的文本居中

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

posted @ 2015-01-28 12:23  waitfate  阅读(10012)  评论(0编辑  收藏  举报