`
158067568
  • 浏览: 329706 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ListView进阶系列之一 内容顺序淡淡显示

阅读更多

ListView进阶系列之一 内容顺序淡淡显示

listView可以说是用的最多的控件之一了,给listview添加特效,将是日后开发中在所难免的事情。

实现一个简单的listview显示

这个大家应该是相当熟悉了。

q      在布局文件中添加ListView控件。(main.xml

q      再在Layout中新建一个ListView每一项要显示的内容。(lvitem.xml)

q      在代码中得到ListView的引用,为其设置适配器,添加数据。(DemoActivity.java)

这个就不多说了,直接看代码吧:

main.xml

 

<?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"

    >

         <ListView

                   android:id="@+id/listv"

                   android:layout_width="fill_parent"

                   android:layout_height="wrap_content"

                   android:scrollbars="vertical"

                   android:layoutAnimation="@anim/animationlayout"

                   />

         <Button

                   android:id="@+id/buttonId"

                   android:layout_width="fill_parent"

                   android:layout_height="wrap_content"

                   android:text="测试"

                   />

</LinearLayout>

 

lvitem.xml

<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"

         android:id="@+id/lvitem"

        android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:stretchColumns ="*"

> 

         <TableRow>

                   <TextView

                            android:id="@+id/tvname"

                           android:layout_width="wrap_content"

             android:layout_height="wrap_content"

                   >

                   </TextView>

                   <TextView

                            android:id="@+id/tvage"

                           android:layout_width="wrap_content"

             android:layout_height="wrap_content"

                   >

                   </TextView>

                   <TextView

                            android:id="@+id/tvsex"

                           android:layout_width="wrap_content"

             android:layout_height="wrap_content"

                   >

                   </TextView>

         </TableRow>

         

</TableLayout>

 

 

 

 

DemoActivity.java

package cn.edu.heut.zcl;

 

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

import android.app.Activity;

import android.app.ListActivity;

import android.content.Context;

import android.os.Bundle;

import android.widget.ListView;

import android.widget.SimpleAdapter;

 

public class DemoActivity extends Activity {

    /** Called when the activity is first created. */

         ListView lv;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        

        setContentView(R.layout.main);

        lv = (ListView)findViewById(R.id.listv);

        List<Map<String, String>> data = new ArrayList<Map<String,String>>();

        for(int i=0;i<10;i++){

           Map<String,String> map = new HashMap<String,String>();

           map.put("name","n"+i );

           map.put("age","age"+i );

           map.put("sex","s"+i );

           data.add(map);

        }

                   String[] from = {"name","age","sex"};

                   int[] to = {R.id.tvname,R.id.tvage,R.id.tvsex};

                   SimpleAdapter sa = new SimpleAdapter(this, data, R.layout.lvitem, from, to);

                   lv.setAdapter(sa);

    }

}

 

 

 

添加特效

这里才是本文重点,listview的特效是通过Animation实现,首先在res中添加文件夹anim,在其中新建一个animationSetxmlanimatonset1.xml,在其中添加要使用的特效,特效的添加参考本博客的Animation系列教程。

之后要使用LayoutAnimationController,这里简要介绍一下该类的作用。

q      LayoutAnimationController用于为一个Layout里面的控件,或者是一个ViewGroup里面的控件设置动画效果。

q      每一个控件将会拥有相同的动画效果。

q      可以设置每个控件的动画效果的时间,这些工作可以在xml中也可以在代码中实现。

具体实现情况代码:animationlayout.xml。在代码中将使用android:animation="@anim/animatonset1"引用之前的animation

最后就可以为已经写好的listview添加动画效果。添加的方式很简单,只要在listviewxml文件声明处使用android:layoutAnimation="@anim/animationlayout"就可。

看代码

animatonset1

 

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android"

         android:interpolator="@android:anim/accelerate_interpolator"

         android:shareInterpolator="true">

                   

         <alpha 

                   android:fromAlpha="0.0"

                   android:toAlpha="1.0"

                   android:duration="1000" />

 

</set>

 

animationlayout

<?xml version="1.0" encoding="utf-8"?>

<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"

         android:delay="0.5"

         android:animationOrder="random" 

         android:animation="@anim/animatonset1" />

  

0
7
分享到:
评论

相关推荐

    listview内容超出屏幕高度,自动显示回到listview顶部的按钮

    首先,我们需要在布局文件中为ListView添加一个浮动按钮(FloatingActionButton),这个按钮在ListView内容超过屏幕高度时显示,在内容未满屏时隐藏。以下是一个简单的布局示例: ```xml android:orientation=...

    ListView性能优化系列之一

    这篇博客“ListView性能优化系列之一”着重探讨了如何通过深入理解源码和利用特定工具来提升ListView的性能。 首先,了解ListView的工作原理是优化的基础。ListView采用的是滚动复用机制,即“视图回收”...

    Android完美解决listview中多个edittext显示混乱问题

    然而,在ListView中嵌套多个EditText时,常常会遇到一个问题,即用户在EditText中输入内容时,ListView滚动时导致显示混乱,原本输入的位置与EditText不匹配,这被称为“EditText焦点错乱”或“ListView复用机制问题...

    C# ListView实现图标各种视图显示

    通过设置ListView的SmallImageList或LargeImageList属性,可以将ImageList与ListView关联,这样ListView的每一项就能显示指定的图标。 ```csharp ImageList imageList = new ImageList(); imageList.Images.Add(...

    vb6.0 listview 可修改内容代码

    在VB6.0中,ListView控件是一种常用的用户界面元素,用于显示列表数据,并且可以进行多种自定义操作。这个“vb6.0 listview 可修改内容代码”示例着重于如何通过Text控件来动态修改ListView的内容,使得用户能够交互...

    Android用listview显示数据库中的数据

    ListView是一种可滚动的视图,可以显示多个项目,适合于显示列表数据。 6. **创建数据适配器**:ListView的工作原理是通过数据适配器(如`BaseAdapter`或`ArrayAdapter`)将数据绑定到视图。你需要创建一个自定义的...

    JSON解析数据listview显示

    ListView是Android中的一个视图组件,它可以显示一列可滚动的项目列表。在用户界面设计中,ListView经常用于展示大量数据,比如联系人列表、邮件列表等。通过适配器(Adapter)机制,ListView可以从各种数据源获取...

    Listview显示缩略图

    对于每个要显示的图片文件,读取图片内容,然后生成一个合适的缩略图,将其添加到`ImageList`中。以下是一个简单的代码示例: ```csharp using System.Drawing; using System.Drawing.Imaging; // 假设图片路径在...

    WPF中listview显示列表的删除和显示

    在Windows Presentation Foundation (WPF) 中,ListView是一个强大的控件,用于展示数据集,并提供了多种方式来呈现和操作数据。本教程将详细讲解如何在WPF应用中使用ListView来显示列表,以及添加删除和保存功能。 ...

    c# listview 实现循环滚动显示

    这通常涉及到定时器(Timer)的使用,定时器每隔一段时间就会触发事件,更新ListView显示的内容。以下是一个基本的步骤: 1. **创建ListView和Timer**:在Form中添加一个`ListView`控件和一个`Timer`控件,设置`...

    ListView分页显示上一页和下一页

    "ListView分页显示上一页和下一页"这一主题,就是讨论如何实现ListView在用户滚动到列表底部时自动加载下一页数据,同时提供上一页的切换功能。 一、分页原理 分页的基本思想是将大量数据分为多个小部分(页)来...

    c#listview每列设置不同图标显示

    在Details视图下,可以通过`ListViewItem`对象添加或修改每一行的内容,每个`ListViewItem`可以拥有多个`SubItems`,每个`SubItem`对应一列。 要为ListView的每列设置不同图标,我们需要以下几个步骤: 1. 准备...

    WPF_ListView横向显示.zip

    然而,通过自定义布局或使用特定的数据模板,我们可以使ListView的显示模式转变为横向,即每列显示一个数据项。这在显示一组相关但较短的数据时特别有用,例如时间线、标签或分类。 首先,我们需要创建一个...

    listview 实现隐藏显示headerview

    listview 实现隐藏显示headerview

    安卓listview相关相关-一个很漂亮的标题悬浮到顶部的可以折叠的ListView两个ListView联动.zip

    总之,这份资源为Android开发者提供了关于ListView进阶用法的实例,是学习和提升ListView功能的一个宝贵资料。通过深入研究和实践,开发者可以掌握如何创建更加复杂和动态的列表视图,提升应用的用户体验。

    ListView中选中的项高亮显示

    当用户在ListView中选择一个项时,通常希望这个被选中的项能够以某种方式突出显示,以便用户能清楚地看到他们的选择。本文将详细介绍如何在C#的Winform环境下,实现ListView控件中选中项的高亮显示。 首先,我们要...

    C#在ListView中Subitem显示图片

    在给定的场景中,"C#在ListView中Subitem显示图片"是一个关于在ASP.NET Web应用程序中使用ListView控件来展示数据时,如何在Subitems中添加图像的功能。 ListView控件是ASP.NET 2.0引入的一种高度可定制的数据绑定...

    ListView的基本显示

    - `ListView`是一个可滚动的视图,可以显示一行行的数据,这些数据由多个相同的`View`实例组成,每个`View`代表列表中的一项。 - 每个`View`通常是由一个布局文件定义的,这个布局文件被称为`Item Layout`,它定义...

Global site tag (gtag.js) - Google Analytics