现在的位置: 首页 > 综合 > 正文

(柯昌合)定义复杂的ListView外观(柯昌合)

2013年10月05日 ⁄ 综合 ⁄ 共 973字 ⁄ 字号 评论关闭

各们朋友大家好,今天给大家介绍一个用户自定义列表的样子。以前我们学过使用ListView定义各种列表的样子,如显示电话本、用户信息等。但这些列表显示都是有规律性的,如都有用户名,都有电话号码等。今天我们来教大家学习一个自定义外观的列表样式,我们通过一个简单的聊天程序来展现。实现效果如图所示:                             

 

 

              各位看看上面的界面,发现界面不像ListView那么有规律,左边是自己发送的内容,右边是对方好友给我发送的内容。如何完成这样的功能呢,我们选择了ScrollView控件实现这样的功能,在ScrollView里添加一线性布局,我们将聊天的内容与头像一起放到线性布局里面,代码如下:

其中蓝色选择区域为聊天内容存放区域,最下面的一个相对布局文件为最下面的发送框和输入框。

 

接下来继续看看JAVA怎么实现,使用JAVA的基本思想是:将想想要实现的界面写成一个XML,然后通过android的类库将它生成一个VIEW,再将生成的VIEW加载到上图的蓝色区域的LinearLayout布局内,这样便可实现自定义的ListView的样式。

JAVA代码如下:

生成View的方法如下:

         Private  LayoutInflater  inflate=null;

         inflate = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

其中本示例有两个xml布局,用于显示我的聊天内容和对方的聊天内容

代码分别如下:

         sms_list_item_left.xml:

         

sms_list_item_Right.xml:

这样就可以得到一个生成View的inflate对象,通过inflate就可以生成View,代码如下

View view =inflate.inflate(R.layout.sms_list_item_left, null);

 

最后就是将聊天的内容通过inflate.inflate(R.layout.sms_list_item_left, null);生成一个View对象,然后将这个View对象添加到LinearLayout里面,代码如下:

抱歉!评论已关闭.