首页 > 代码库 > ListView设置某一项item的文本居中

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

技术分享

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