各们朋友大家好,今天给大家介绍一个用户自定义列表的样子。以前我们学过使用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里面,代码如下: