今晚有点时间把断了很长时间的UI开发补一下,这次实现的是像handcent sms或者chomp sms那样的气泡短信样式,也是iphone上的气泡聊天模式。实现这种效果的重点是ListView的divider和listSelector。先看一下效果图。

给代码:
(1)listview:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
>
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="@null"
android:dividerHeight="0dip"
android:cacheColorHint="#00000000"
android:listSelector="@drawable/list_item_style"
android:id="@+id/itemlist" />
</LinearLayout>

(2)ListView item
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"     
android:background="@drawable/bg"></TextView>
</LinearLayout>

(3)java:
public class HandcentList extends Activity {
/** Called when the activity is first created. */
ListView itemlist = null;
List<Map<String, Object>> list;
final String[] str={"A","B","C","D","E","F"};
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
itemlist = (ListView) findViewById(R.id.itemlist);
refreshListItems();
}
private void refreshListItems() {
list = buildListForSimpleAdapter();
SimpleAdapter notes = new SimpleAdapter(this, list, R.layout.item,
new String[] { "str" }, new int[] { R.id.TextView01,});
itemlist.setAdapter(notes);
itemlist.setSelection(0);
}
private List<Map<String, Object>> buildListForSimpleAdapter() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(2);
// Build a map for the attributes
Map<String, Object> map = new HashMap<String, Object>();
map.put("str", "呵呵呵呵呵");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵呵呵呵呵");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵呵呵呵呵呵呵呵呵\n呵呵呵呵\n呵呵\n呵呵");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵呵呵呵呵呵呵呵呵呵呵呵呵\n呵呵呵呵");
list.add(map);
return list;
}
}

http://www.devdiv.com/home.php?mod=space&uid=14682&do=blog&id=2518

本文转自xyz_lmn51CTO博客,原文链接:http://blog.51cto.com/xyzlmn/817381,如需转载请自行联系原作者

Android UI开发第四篇——实现像handcent sms或者chomp sms那样的气泡短信样式相关推荐

  1. Android界面篇【实现气泡短信样式】

    今晚有点时间把断了很长时间的UI开发补一下,这次实现的是像handcent sms或者chomp sms那样的气泡短信样式,也是iphone上的气泡聊天模式.实现这种效果的重点是ListView的di ...

  2. Android UI开发第四十篇——ScrollTricks介绍

    ScrollTricks是一个开源控件,实现了两个简单功能: 1.Quick Return:向上滑动时,View也向上滑动并且消失,当向下滑动时,View马上出现.例如Google Now的搜索功能. ...

  3. Android UI开发第二十七篇——实现左右划出菜单

    年前就想写左右滑动菜单,苦于没有时间,一直拖到现在,这篇代码实现参考了网上流行的SlidingMenu,使用的FrameLayout布局,不是扩展的HorizontalScrollView. 程序中自 ...

  4. Android Studio开发第四篇版本管理Git(下)

    前面一片介绍了在as下如何关联远程仓库,这篇就介绍在开发过程中怎么应用. 提交+Push 如果本地开发代码有改动了或者你觉得某功能做完了,你打算把改动代码提交到远程仓库,这个时候很简单, 还是在工具栏 ...

  5. Android UI开发第五篇——自定义列表

    自定义列表,设置列表背景.列表的列背景.列表的间隔线. 借鉴了一些前辈的代码. MainActivity.class public class MainActivity extends Activit ...

  6. Android UI开发第八篇——ViewFlipper 左右滑动效果

    怎么实现Android主页面的左右拖动效果.其实实现起来很简单,就是使用ViewFlipper来将您要来回拖动的View装在一起,然后与GestureDetector手势识别类来联动,确定要显示哪个V ...

  7. Android UI开发第三十篇——使用Fragment构建灵活的桌面

    http://www.lupaworld.com/article-222973-1.html 当我们设计应用程序时,希望能够尽最大限度的适配各种设备,包括4寸屏.7寸屏. 10寸屏等等,Android ...

  8. Android UI开发第四十一篇——墨迹天气3.0引导界面及动画实现

    周末升级了墨迹天气,看着引导界面做的不错,模仿一下,可能与原作者的代码实现不一样,但是实现的效果还是差不多的.先分享一篇以前的文章,android动画的基础知识,<Android UI开发第十二 ...

  9. Android UI开发第二十五篇——分享一篇自定义的 Action Bar

    Action Bar是android3.0以后才引入的,主要是替代3.0以前的menu和tittle bar.在3.0之前是不能使用Action Bar功能的.这里引入了自定义的Action Bar, ...

最新文章

  1. 理清fineuploader无刷新上传的一些事
  2. 插值搜索——本质和二分无异,是利用数据分布的规律来定查找点,其基本假设是数据分布均匀...
  3. 老李分享:Mac快捷键
  4. php files上传错误,php-PHP上传文件的问题$_FILES['file']['error']
  5. 彻底掌握机器学习的6个主流模型,是什么水平?
  6. 0宽字符加密_vulnhub实战靶场攻略:Breach 1.0
  7. hbase建索引java api_hbase创建索引
  8. 微软发布IoT应用现状报告:88%国内企业已使用IoT;技术人才仍为最大需求;三分之一企业死于构想阶段...
  9. latex缩进与对齐_科学网—Latex算法排版,不同行缩进不同 - 张鹏的博文
  10. (转载)AS3中的mouseEnabled与mouseChildren
  11. 变焦和对焦_在Randonautica内部,该应用程序可带领变焦器发现彩虹,尸体和隐藏的宝藏
  12. 计算机图形学中点画线法
  13. 「读书笔记」第五项修炼-学习型组织的艺术与实践(一)
  14. 【渝粤题库】国家开放大学2021春2721乡镇行政管理题目
  15. 电脑开机后网络一直转圈,程序也打不开——亲测解决办法
  16. 复杂网络|耦合映像格子
  17. 02前端学习之CSS3(1)
  18. 躲避雪糕刺客?通过爬虫爬取雪糕价格
  19. 花千骨服务器维护10月22号,CF10月21、22日全区全服维护更新公告
  20. 解读蓝牙耳机出口沙特要做什么认证?

热门文章

  1. linux 必备基础知识 (week2)
  2. 换脸APP火热来袭,刷脸支付安全再引舌战
  3. 数据同步中间件DBSyncer
  4. 关于uniapp获取应用版本号
  5. CSS实现隐藏滚动条并可以滚动内容
  6. 移动终端web开发必备知识
  7. 消费级AR眼镜爆发将近:Rokid+无影突破算力,打造“第三块屏幕”
  8. 2012年第三届蓝桥杯C组 day11
  9. linux下python3访问人大金仓KingBase ES 8
  10. Ultipa图数据库是怎样全面支持ARM架构?