`
切切歆语
  • 浏览: 30521 次
  • 性别: Icon_minigender_1
  • 来自: 泸州市
社区版块
存档分类
最新评论

Android 列表使用(ListView GridView Gallery图片计时滚动)

阅读更多

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ListView之+GridView+Gallery图片计时滚动

    在Android开发中,...总的来说,"ListView之+GridView+Gallery图片计时滚动"这个主题涵盖了Android UI开发中的基础组件和常见的滚动效果实现,对于Android开发者来说,掌握这些知识将有助于构建更丰富的用户界面。

    android中ListView嵌套GridView的使用

    在Android开发中,ListView和GridView是两种常用的布局控件,它们各自有其特定的应用场景。ListView主要用于展示大量的可滚动数据,而GridView则呈现一个固定的网格布局。然而,在某些情况下,我们可能需要在一个...

    android-ListView内嵌GridView

    在Android开发中,ListView和GridView是两种常用的布局控件,它们用于展示大量数据。ListView以其垂直滚动、可复用视图的优势,常用于显示一列数据;而GridView则以网格形式展示,通常用于图片或者小图标等需要均匀...

    Android ListView/GridView倒计时效果,不卡顿

    在Android开发中,ListView和GridView是两种常用的列表控件,它们可以用来展示大量数据并实现滚动效果。然而,当在这些列表中实现动态倒计时功能时,可能会遇到性能问题,比如卡顿或延迟更新。本节将详细介绍如何在...

    Android PullToRefresh (ListView GridView 下拉刷新) 程序源码使用详解

    本教程将详细讲解如何使用Android PullToRefresh库来实现ListView和GridView的下拉刷新功能。 首先,我们需要了解下拉刷新的基本原理。当用户在ListView或GridView顶部向下滑动时,视图会显示一个可拖动的头部,...

    Android ListView、GridView倒计时

    在Android开发中,ListView和GridView是两种常用的列表控件,它们可以用来展示大量数据并进行交互。本知识点主要探讨如何在这些控件中实现倒计时功能,这在很多应用场景中都非常有用,如限时抢购、倒计时提醒等。 1...

    Android 完美的listview自动循环滚动

    "Android 完美的listview自动循环滚动"这个主题聚焦于如何使ListView在到达列表末尾时能够自动循环回滚到顶部,实现类似轮播的效果。这种功能常见于广告轮播、商品推荐等场景,可以提供流畅且连续的用户体验。 首先...

    listView 嵌套gridView android

    ListView具有良好的滚动性能,适合展示大量数据,而GridView则常用于展示图片、小图标等,形成整齐的网格布局。当需要在一个列表项中嵌入一个小型的网格布局时,就会涉及到“ListView嵌套GridView”的场景。本篇将...

    ListView嵌套GridView解决方案

    在Android开发中,ListView和GridView是两种常用的列表控件,它们用于展示大量数据。ListView以其垂直滚动特性,适合展示一维列表,而GridView则通过网格布局展现二维数据。然而,在某些场景下,我们可能需要在一个...

    android的listview和gridView的例子

    在Android开发中,ListView和GridView是两种非常常用的控件,它们用于展示大量数据,并且具有良好的滚动性能。这两个组件在用户界面设计中扮演着至关重要的角色,尤其在展示列表或网格形式的数据时。本篇文章将深入...

    Android scrollview ListView GridView上拉下拉刷新

    在Android开发中,ScrollView、ListView和GridView是三种常用的布局组件,它们各自有着不同的用途和特点。本篇文章将详细探讨如何实现这些组件的上拉下拉刷新功能,以及如何添加缓冲效果,以提升用户体验。 首先,...

    android ListView和GridView拖拽移位实现代码

    在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据列表。它们都是AdapterView的子类,能够动态加载数据并显示。本文将深入探讨如何在Android中实现ListView和GridView的拖拽移位功能,...

    Android 点击ListView 或GridView 的一个item 使其里面textview变色

    Android 点击ListView 或GridView 的一个item 使其里面textview变色 详情可访问博客地址:http: blog csdn net gaolei1201 article details 39084159

    android布局ListView内嵌gridview

    例如,一个电商应用的商品列表,每个商品都有多张图片,这时可以在`ListView`的每一项中嵌入一个`GridView`来显示商品图片。 实现这个内嵌设计的基本步骤如下: 1. **创建ListView Adapter**:首先,你需要创建一...

    Android ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多

    总的来说,Android开发中的ScrollView嵌套ListView和GridView是一项挑战,但通过巧妙地使用SwipeRefreshLayout、自定义适配器和滚动事件处理,我们可以构建出高效且功能丰富的用户界面。同时,不断优化性能和用户...

    android控件ListView. GridView.gallery应用

    GridView添加数据源和ListView也是SimpleAdpater 在数据源适配器知识点上面,我们可以自己定义一个数据源适配器,要继承BaseAdapter,实现getView的方法 画廊控件:gallery imageswitch HorizontalScrollView,在一个...

    android gridview/listview加载大量图片

    listview/gridview加载显示大量图片,对内存和性能都是严峻的考验。常引起OOM,滚动卡顿等问题。该示例代码完美解决了上述问题。主要用到的技术有: 1. 用MemoryCache缓存图片信息,采用SoftReference方式避免OOM。 ...

    listview gridview 图片缩放

    在Android开发中,ListView和GridView是两种常用的布局控件,用于展示大量的数据列表。当这些控件需要显示图片时,由于屏幕尺寸限制和性能优化的需求,通常需要对图片进行适当的缩放处理。以下是对"listview ...

    android中listview,gridview加载图片的线程并发解决方案

    ### Android中ListView与GridView加载图片的线程并发解决方案 在Android开发中,处理ListView和GridView这类组件时,尤其是在大量图片的加载过程中,线程管理变得至关重要。不当的线程处理可能导致应用性能下降,...

    listview gridview 上拉加载 下拉刷新 包含6个demo

    在Android开发中,ListView和GridView是两种常用的列表控件,用于展示大量的数据。然而,当数据超出屏幕显示范围时,用户需要手动滚动查看全部内容。为了提升用户体验,"上拉加载"和"下拉刷新"功能应运而生。这些...

Global site tag (gtag.js) - Google Analytics