ListView
作用:1.将数据填充到布局。2.处理用户的选择点击等操作。
根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
实例:
listview.xml <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:descendantFocusability="afterDescendants"> <!-- android:cacheColorHint="#00000000" 背景透明 --> <!-- android:dividerHeight="1dp" item界限宽度 --> <!-- android:cacheColorHint="#00000000" item界线颜色 --> <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content" android:cacheColorHint="#00000000" android:dividerHeight="1dp" android:divider="#FF0000" /> </LinearLayout> item.xml <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:orientation="horizontal"> <!-- 列表item布局 --> <ImageView android:id="@+id/img" android:layout_width="100dp" android:layout_height="100dp" android:layout_marginLeft="15dp" android:src="@drawable/a2"/> <TextView android:id="@+id/txtname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="25dp"/> </LinearLayout>
ActivityListView.Java
public class ActivityListView extends Activity { private ListView mListView; protected void onCreate(android.os.Bundle savedInstanceState) { super.onCreate(savedInstanceState); //加载listview控件所在的布局文件 setContentView(R.layout.listview_layout); //获取listview控件的对象 mListView = (ListView)findViewById(R.id.listview); /** *定义SimpleAdapter(并加载对应item布局文件,获得对应的keY,获得对应item布局文件中的组件的id *第二个参数data:数据源第三个参数resource:listView每个item对应的布局文件第四个参数 from: *第五个参数to: new String[]{对应的key}v */ SimpleAdapter simpleAdapter =new SimpleAdapter(this, get_data(), R.layout.item_listview,new String[]{"name","img" }, newint[] { R.id.txtname, R.id.img }); //通过setAdapter将适配器绑定到listView控件 mListView.setAdapter(simpleAdapter); }; /** *数据源 */ String[] name = { "张三","李四","小星星","静静","明明","小翠" }; private ArrayList<Map<String, Object>> get_data() { //定义一个ArrayList的集合(集合中又封装一个map类型的集合) ArrayList<Map<String, Object>> data_list =new ArrayList<Map<String,Object>>(); for (int i = 0; i<name.length; i++) { // key,valueintstring map不能new map Map<String, Object> data_map =new HashMap<String, Object>(); data_map.put("name",name[i]); data_map.put("img",R.drawable.a1); //将map集合添加(封装)到ArrayList集合中 data_list.add(data_map); } //返回ArrayList集合 return data_list; } }
Gallery
作用:实现图片计时滚动显示
实例:
gallery.xml <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:orientation="vertical"> <Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content" android:spacing="0dip"/> </LinearLayout>
public class ActivityGrelly extends Activity { /** Called when the activity isfirst created. */ private int index; private Gallery g; private Handler handler; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.gallery_layout); initView(); } private void initView() { // TODOAuto-generated method stub // 获得Gallery对象 g = (Gallery)findViewById(R.id.gallery); // 添加ImageAdapter给Gallery对象 g.setAdapter(newImageAdapter(this)); // 设置Gallery的背景 g.setBackgroundResource(R.drawable.bg); TimerTask task = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 2; index = g.getSelectedItemPosition(); index++; handler.sendMessage(message); } }; Timer timer = new Timer(); timer.schedule(task, 3000, 3000); handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 2: g.setSelection(index); break; default: break; } } }; // 设置Gallery的事件监听 g.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position,long id) { Toast.makeText(ActivityGrelly.this, "你选择了" + (position + 1) +"号图片", Toast.LENGTH_SHORT) .show(); } }); } }
效果:
源码下载:
Eclipse下载:http://download.csdn.net/detail/dickyqie/9620303
AndroidStudio下载: https://github.com/DickyQie/android-list-control/tree/list-use
相关推荐
在Android开发中,...总的来说,"ListView之+GridView+Gallery图片计时滚动"这个主题涵盖了Android UI开发中的基础组件和常见的滚动效果实现,对于Android开发者来说,掌握这些知识将有助于构建更丰富的用户界面。
在Android开发中,ListView和GridView是两种常用的布局控件,它们各自有其特定的应用场景。ListView主要用于展示大量的可滚动数据,而GridView则呈现一个固定的网格布局。然而,在某些情况下,我们可能需要在一个...
在Android开发中,ListView和GridView是两种常用的布局控件,它们用于展示大量数据。ListView以其垂直滚动、可复用视图的优势,常用于显示一列数据;而GridView则以网格形式展示,通常用于图片或者小图标等需要均匀...
在Android开发中,ListView和GridView是两种常用的列表控件,它们可以用来展示大量数据并实现滚动效果。然而,当在这些列表中实现动态倒计时功能时,可能会遇到性能问题,比如卡顿或延迟更新。本节将详细介绍如何在...
本教程将详细讲解如何使用Android PullToRefresh库来实现ListView和GridView的下拉刷新功能。 首先,我们需要了解下拉刷新的基本原理。当用户在ListView或GridView顶部向下滑动时,视图会显示一个可拖动的头部,...
在Android开发中,ListView和GridView是两种常用的列表控件,它们可以用来展示大量数据并进行交互。本知识点主要探讨如何在这些控件中实现倒计时功能,这在很多应用场景中都非常有用,如限时抢购、倒计时提醒等。 1...
"Android 完美的listview自动循环滚动"这个主题聚焦于如何使ListView在到达列表末尾时能够自动循环回滚到顶部,实现类似轮播的效果。这种功能常见于广告轮播、商品推荐等场景,可以提供流畅且连续的用户体验。 首先...
ListView具有良好的滚动性能,适合展示大量数据,而GridView则常用于展示图片、小图标等,形成整齐的网格布局。当需要在一个列表项中嵌入一个小型的网格布局时,就会涉及到“ListView嵌套GridView”的场景。本篇将...
在Android开发中,ListView和GridView是两种常用的列表控件,它们用于展示大量数据。ListView以其垂直滚动特性,适合展示一维列表,而GridView则通过网格布局展现二维数据。然而,在某些场景下,我们可能需要在一个...
在Android开发中,ListView和GridView是两种非常常用的控件,它们用于展示大量数据,并且具有良好的滚动性能。这两个组件在用户界面设计中扮演着至关重要的角色,尤其在展示列表或网格形式的数据时。本篇文章将深入...
在Android开发中,ScrollView、ListView和GridView是三种常用的布局组件,它们各自有着不同的用途和特点。本篇文章将详细探讨如何实现这些组件的上拉下拉刷新功能,以及如何添加缓冲效果,以提升用户体验。 首先,...
在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据列表。它们都是AdapterView的子类,能够动态加载数据并显示。本文将深入探讨如何在Android中实现ListView和GridView的拖拽移位功能,...
Android 点击ListView 或GridView 的一个item 使其里面textview变色 详情可访问博客地址:http: blog csdn net gaolei1201 article details 39084159
例如,一个电商应用的商品列表,每个商品都有多张图片,这时可以在`ListView`的每一项中嵌入一个`GridView`来显示商品图片。 实现这个内嵌设计的基本步骤如下: 1. **创建ListView Adapter**:首先,你需要创建一...
总的来说,Android开发中的ScrollView嵌套ListView和GridView是一项挑战,但通过巧妙地使用SwipeRefreshLayout、自定义适配器和滚动事件处理,我们可以构建出高效且功能丰富的用户界面。同时,不断优化性能和用户...
GridView添加数据源和ListView也是SimpleAdpater 在数据源适配器知识点上面,我们可以自己定义一个数据源适配器,要继承BaseAdapter,实现getView的方法 画廊控件:gallery imageswitch HorizontalScrollView,在一个...
listview/gridview加载显示大量图片,对内存和性能都是严峻的考验。常引起OOM,滚动卡顿等问题。该示例代码完美解决了上述问题。主要用到的技术有: 1. 用MemoryCache缓存图片信息,采用SoftReference方式避免OOM。 ...
在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据列表。当这些控件需要显示图片时,由于屏幕尺寸限制和性能优化的需求,通常需要对图片进行适当的缩放处理。以下是对"listview ...
### Android中ListView与GridView加载图片的线程并发解决方案 在Android开发中,处理ListView和GridView这类组件时,尤其是在大量图片的加载过程中,线程管理变得至关重要。不当的线程处理可能导致应用性能下降,...
在Android开发中,ListView和GridView是两种常用的列表控件,用于展示大量的数据。然而,当数据超出屏幕显示范围时,用户需要手动滚动查看全部内容。为了提升用户体验,"上拉加载"和"下拉刷新"功能应运而生。这些...