zoukankan      html  css  js  c++  java
  • 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版本和我真机不一样!)

  • 相关阅读:
    PHP自动加载(__autoload和spl_autoload_register)
    抽象工厂模式
    工厂方法模式
    简单工厂模式
    组合
    二叉树的层次遍历 II
    umask命令
    二叉树的所有路径
    CDN缓存的理解
    Js中RegExp对象
  • 原文地址:https://www.cnblogs.com/waitfate/p/4255491.html
Copyright © 2011-2022 走看看