- 浏览: 206566 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xumin_minzi:
我也在使用ndk编译,ffmpeg源码放在哪个目录里面?
[原创]Android ndkr8编译 FFmpeg 0.11.1 "Happiness" -
ericchan2012:
在Dialog调用show方法之后
【原创】Android 设置Dialog的长宽和位置 -
maohualei:
求解: 我设置的时候 位置居然没有反应 dial ...
【原创】Android 设置Dialog的长宽和位置
iphone中短信聊天都是那种气泡式的,当然,android短信也是,
那么我们如何实现这种效果呢?
我下面就简单的实现了一个demo,
其实就是一个listview,然后对adapter中getview的时候,根据自己的设定来获取不同的layout。
具体看代码:
然后是adapter了
注意红色部分,获取到相应的layout。
就实现了气泡式的效果了。
效果图:
具体代码见附件。
那么我们如何实现这种效果呢?
我下面就简单的实现了一个demo,
其实就是一个listview,然后对adapter中getview的时候,根据自己的设定来获取不同的layout。
具体看代码:
public class MainActivity extends Activity { private ListView talkView; private ArrayList<DetailEntity> list = null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); talkView = (ListView)findViewById(R.id.list); list = new ArrayList<DetailEntity>(); DetailEntity d1 = new DetailEntity("Me","2012-04-26","Hello!",R.layout.list_say_me_item); list.add(d1); DetailEntity d2 = new DetailEntity("You","2012-04-26","Hi!",R.layout.list_say_he_item); list.add(d2); DetailEntity d3 = new DetailEntity("Me","2012-04-26","Waht is your name?",R.layout.list_say_he_item); list.add(d3); DetailEntity d4 = new DetailEntity("You","2012-04-26","****!",R.layout.list_say_me_item); list.add(d4); talkView.setAdapter(new DetailAdapter(MainActivity.this, list)); } }
然后是adapter了
public class DetailAdapter implements ListAdapter { private ArrayList<DetailEntity> coll; private Context ctx; public DetailAdapter(Context context, ArrayList<DetailEntity> coll) { ctx = context; this.coll = coll; } public boolean areAllItemsEnabled() { return false; } public boolean isEnabled(int arg0) { return false; } public int getCount() { return coll.size(); } public Object getItem(int position) { return coll.get(position); } public long getItemId(int position) { return position; } public int getItemViewType(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { [color=red]DetailEntity entity = coll.get(position); int itemLayout = entity.getLayoutID();[/color] LinearLayout layout = new LinearLayout(ctx); LayoutInflater vi = (LayoutInflater) ctx .getSystemService(Context.LAYOUT_INFLATER_SERVICE); vi.inflate(itemLayout, layout, true); TextView tvName = (TextView) layout .findViewById(R.id.messagedetail_row_name); tvName.setText(entity.getName()); TextView tvDate = (TextView) layout .findViewById(R.id.messagedetail_row_date); tvDate.setText(entity.getDate()); TextView tvText = (TextView) layout .findViewById(R.id.messagedetail_row_text); tvText.setText(entity.getText()); return layout; } public int getViewTypeCount() { return coll.size(); } public boolean hasStableIds() { return false; } public boolean isEmpty() { return false; } public void registerDataSetObserver(DataSetObserver observer) { } public void unregisterDataSetObserver(DataSetObserver observer) { } }
注意红色部分,获取到相应的layout。
就实现了气泡式的效果了。
效果图:
具体代码见附件。
发表评论
-
拖拽滑动_有3D_有循环
2012-12-11 17:38 1140android桌面拖拽3d效果 -
三星通讯录滑动出发开关
2012-12-11 17:37 905下面的代码是仿三星9300中的滑动打电话和发短信的。 -
三星通讯录滑动触发开关以及StatusBar下拉快捷键的效果
2012-10-20 17:26 13881,三星通讯录滑动触发开关 你可以参考: http://gja ... -
android水波纹效果之一
2012-09-17 22:27 1192参考: http://www.apkbus.com/archi ... -
为launcher添加一个仿Mac的dock(附源码)
2012-09-17 21:50 957之前在网上看到有篇文章:Launcher之Dock细节篇htt ... -
android桌面预览效果
2012-09-17 21:49 977主要改动的是:workspace.Java和launcher. ... -
Android 自定义滚动视图
2012-08-24 22:39 582MainActivity package org. ... -
实现通讯录的弹窗效果
2012-08-19 22:06 1779参考http://www.cnblogs.com/noTice ... -
【原创】android ViewPager控件的使用
2012-06-15 10:33 2395android4.0有个控件,就是viewpager,用来实现 ... -
【原创】android中实现底部tabhost
2012-06-14 10:14 1757这个主要是实现底部的tabhost方式,tabhost就是有几 ... -
【原创】android中定义BaseActivity
2012-06-13 12:53 5648[size=medium] 需求: 如果一个应用程序中有许多a ... -
【原创】android进入应用程序时的动画实现
2012-06-12 11:34 1458相信玩过android应用的同学都看过进入应用程序时出现的短暂 ... -
【原创】android仿ucweb的菜单效果
2012-06-12 11:12 1165[size=medium]先看一张图 这里有几个要点 1,主 ... -
【原创】android2.3如何加入对wml的支持
2012-06-12 09:52 1316其实就是改makefile文件: 1,开启宏定义: 在exte ... -
【原创】dip与px
2012-06-11 10:38 878真正要做适配的,只有是当图片被拉抻后,是否变形了,如果变形了, ... -
【原创】Android aidl实现两个apk之间远程调用Service
2012-06-07 11:12 4983Aidl,android平台的IPC方式之一,基于系统的Ibi ... -
【转】Android-Action Bar使用方法
2012-06-06 14:49 1830转自http://disanji.net/2011/02/24 ... -
【原创】Android仿新浪微博的“更多”页面效果
2012-05-29 17:38 2242看到新浪微博那个“更多”页面的效果,感觉不错,所以拿来模仿一下 ... -
【原创】Android 设置Dialog的长宽和位置
2012-05-28 10:11 2725在Dialog调用show方法之后,加上以下代码: Wi ... -
【原创】Android 实现微博分享功能
2012-05-27 22:20 1471通过发送下面的intent: Intent intent = ...
相关推荐
通过以上步骤,你就能在Android应用中实现一个基本的气泡式ListView。不过,实际开发中可能还需要根据具体需求进行更多定制,比如添加图片、时间戳等复杂数据结构,或者实现更复杂的交互效果。总的来说,自定义...
总结来说,实现Android的ListView嵌套ListView需要理解ListView的工作机制,创建并管理两个Adapter,以及在布局文件中正确地嵌套ListView。这虽然不是特别高深的技术,但却是Android开发中常见的需求,熟练掌握能...
在Android开发中,为了使应用界面更接近iOS的风格或者增加独特的用户体验,有时我们需要实现类似iPhone的圆角ListView以及点击效果。本篇文章将详细讲解如何在Android中复现这一功能。 首先,我们要创建一个带有...
在Android开发中,`PopupWindow`是一个非常实用的组件,它可以用来实现各种形式的弹出窗口,如下拉菜单、提示框等。本教程将详细讲解如何使用`PopupWindow`来创建一个以`ListView`形式展示的菜单。首先,我们需要...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据的列表形式。它具有高度可定制性,能够实现各种自定义布局和交互效果。本教程将深入讲解如何实现一个基本的ListView,并在用户点击列表项时跳转到...
本文将详细探讨如何在Android中使用ListView来实现这种汽泡短信聊天的效果。 首先,我们需要创建一个自定义的ListView适配器(Adapter)。适配器是连接数据源和ListView的关键组件,它负责解析数据并将其转化为...
在本文中,我们将深入探讨如何在Android Studio中实现ListView的动态增加以及左滑删除功能,这将帮助你构建更加用户友好的应用程序。 首先,我们需要创建一个ListView的基础结构。在Android Studio中,打开布局XML...
在这个“Android实现的ListView-ListViewAdapter(新闻列表事例)”中,我们将探讨如何利用ListView和ListViewAdapter来构建一个新闻列表,具体涵盖以下几个关键知识点: 1. **ListView**: ListView是Android SDK中的...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。为了实现更加灵活和丰富的界面展示,我们通常需要对ListView进行自定义,这涉及到自定义Adapter的使用。自定义Adapter允许我们根据需求...
在Android开发中,构建一个类似微信的气泡短信...综上所述,实现Android中的气泡短信聊天功能涉及到了多个层次的技术,包括UI设计、数据结构、性能优化等。通过熟练掌握这些知识点,可以创建出高效、美观的聊天界面。
本教程将深入探讨如何在Android Widget中集成ListView布局,以便在小部件上展示动态、可滚动的数据。 首先,为了创建一个包含ListView的Android Widget,我们需要在`res/xml`目录下创建一个新的XML布局文件,例如`...
总之,实现Android ListView滚动到底部自动加载数据涉及到的主要步骤包括:设置适配器、监听滚动事件、判断是否滚动到底部、加载新数据和更新列表。这个过程需要对Android的基础组件和数据操作有深入的理解,同时也...
本文实例讲述了Android编程实现ListView中item部分区域添加点击事件功能。分享给大家供大家参考,具体如下: 需求如题目:Android listview中item部分区域添加点击事件,在一个界面显示了listview,但显示的内容分为...
本文将深入探讨如何在Android中实现一个基于ArrayAdapter的网格布局ListView。 首先,我们要了解ListView的基本结构。ListView是由多个列表项(List Item)组成的,每个列表项通常对应一个View。在Android中,我们...
总之,Android的横向ListView实际上是通过RecyclerView实现的,通过设置LinearLayoutManager的水平方向,配合自定义Adapter和手势检测,我们可以创建出功能强大的横向滚动列表。这种布局方式广泛应用于各种场景,如...
这个"Android实现ListView的增删改查Demo"是一个实战教程,旨在教你如何在Android应用中实现对ListView中的数据进行添加、删除、修改和查询操作。这个Demo通常会结合SQLite数据库来存储和管理数据,因为SQLite是...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。要实现一个具有圆角效果的ListView,我们需要结合自定义View、Drawable以及Adapter等技术来完成。本实例将详细介绍如何在Android中创建...
理解Activity的跳转和ListView的使用是Android开发中至关重要的技能。在这个主题中,我们将深入探讨如何通过Intent和Bundle实现Activity间的参数传递和跳转,以及如何在ListView中设置Item的点击事件处理。 首先,...
Android应用源码之ListView滚动气泡提示_Android