- 浏览: 237586 次
- 性别:
- 来自: 广州
最新评论
-
Janne:
你好 有源代码?可以发到我的邮箱里学学吗?2731049993 ...
achartengine画出动态折线图的效果 -
anbo724:
我的邮箱 anbo724@gmail.com谢谢@
achartengine画出动态折线图的效果 -
anbo724:
你好 请问有源码没《?谢谢
achartengine画出动态折线图的效果 -
weiday123:
额,觉得这个会不会占堆内存?
AdapterView、Adapter优化 -
wen742538485:
为什么没有呢?权限没加还是发创建了给你删了再想创建?是不允许重 ...
Android中为你的应用程序添加桌面快捷方式
package com.nmbb;
import android.content.Context;
import android.util.AttributeSet;
import android.view.GestureDetector.OnGestureListener;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ListView;
/**
* 自定义支持横向滚动的ListView
* @author 农民伯伯
* @version 2011-12-4
*
*/
public class HVListView extends ListView {
/** 手势 */
private GestureDetector mGesture;
/** 列头 */
public LinearLayout mListHead;
/** 偏移坐标 */
private int mOffset = 0;
/** 屏幕宽度 */
private int screenWidth;
/** 构造函数 */
public HVListView(Context context, AttributeSet attrs) {
super(context, attrs);
mGesture = new GestureDetector(context, mOnGesture);
}
/** 分发触摸事件 */
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
super.dispatchTouchEvent(ev);
return mGesture.onTouchEvent(ev);
}
/** 手势 */
private OnGestureListener mOnGesture = new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDown(MotionEvent e) {
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
return false;
}
/** 滚动 */
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
synchronized (HVListView.this) {
int moveX = (int) distanceX;
int curX = mListHead.getScrollX();
int scrollWidth = getWidth();
int dx = moveX;
//控制越界问题
if (curX + moveX scrollWidth)
dx = scrollWidth - getScreenWidth() - curX;
mOffset += dx;
//根据手势滚动Item视图
for (int i = 0, j = getChildCount(); i
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"><textview android:id="@+id/item1" android:text="不动列头1" android:textsize="20.0sp" android:gravity="center" android:layout_width="100.0dip" android:layout_height="wrap_content"></textview><linearlayout android:orientation="horizontal" android:id="@+id/head" android:layout_width="1200.0dip" android:layout_height="wrap_content"><textview android:id="@+id/item2" android:text="不动列头2" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item3" android:text="不动列头3" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item4" android:text="不动列头4" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item5" android:text="不动列头5" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item6" android:text="不动列头6" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item7" android:text="不动列头7" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item8" android:text="不动列头8" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item9" android:text="不动列头9" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview></linearlayout></linearlayout>
main.xml
<?xml version="1.0" encoding="utf-8"?><linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="#eeffcc" android:layout_width="wrap_content" android:layout_height="fill_parent"><include layout="@layout/item"></include><com.nmbb.hvlistview android:id="@android:id/list" android:background="#FFB84D" android:fastscrollenabled="true" android:fadingedgelength="0.0sp" android:layout_width="1400.0dip" android:layout_height="fill_parent" android:drawselectorontop="false" android:cachecolorhint="@null" android:dividerheight="1.0dip"></com.nmbb.hvlistview></linearlayout>
import android.content.Context;
import android.util.AttributeSet;
import android.view.GestureDetector.OnGestureListener;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ListView;
/**
* 自定义支持横向滚动的ListView
* @author 农民伯伯
* @version 2011-12-4
*
*/
public class HVListView extends ListView {
/** 手势 */
private GestureDetector mGesture;
/** 列头 */
public LinearLayout mListHead;
/** 偏移坐标 */
private int mOffset = 0;
/** 屏幕宽度 */
private int screenWidth;
/** 构造函数 */
public HVListView(Context context, AttributeSet attrs) {
super(context, attrs);
mGesture = new GestureDetector(context, mOnGesture);
}
/** 分发触摸事件 */
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
super.dispatchTouchEvent(ev);
return mGesture.onTouchEvent(ev);
}
/** 手势 */
private OnGestureListener mOnGesture = new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onDown(MotionEvent e) {
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
return false;
}
/** 滚动 */
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
synchronized (HVListView.this) {
int moveX = (int) distanceX;
int curX = mListHead.getScrollX();
int scrollWidth = getWidth();
int dx = moveX;
//控制越界问题
if (curX + moveX scrollWidth)
dx = scrollWidth - getScreenWidth() - curX;
mOffset += dx;
//根据手势滚动Item视图
for (int i = 0, j = getChildCount(); i
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"><textview android:id="@+id/item1" android:text="不动列头1" android:textsize="20.0sp" android:gravity="center" android:layout_width="100.0dip" android:layout_height="wrap_content"></textview><linearlayout android:orientation="horizontal" android:id="@+id/head" android:layout_width="1200.0dip" android:layout_height="wrap_content"><textview android:id="@+id/item2" android:text="不动列头2" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item3" android:text="不动列头3" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item4" android:text="不动列头4" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item5" android:text="不动列头5" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item6" android:text="不动列头6" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item7" android:text="不动列头7" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item8" android:text="不动列头8" android:textcolor="@android:color/black" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview><textview android:id="@+id/item9" android:text="不动列头9" android:textsize="20.0sp" android:singleline="true" android:gravity="center" android:layout_width="150.0dip" android:layout_height="wrap_content"></textview></linearlayout></linearlayout>
main.xml
<?xml version="1.0" encoding="utf-8"?><linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="#eeffcc" android:layout_width="wrap_content" android:layout_height="fill_parent"><include layout="@layout/item"></include><com.nmbb.hvlistview android:id="@android:id/list" android:background="#FFB84D" android:fastscrollenabled="true" android:fadingedgelength="0.0sp" android:layout_width="1400.0dip" android:layout_height="fill_parent" android:drawselectorontop="false" android:cachecolorhint="@null" android:dividerheight="1.0dip"></com.nmbb.hvlistview></linearlayout>
发表评论
-
Android Tween动画之RotateAnimation实现图片不停旋转
2012-11-26 22:38 1093本文主要介绍Android中如何使用rotate实现图片不停旋 ... -
Android实现widget定时更新
2012-11-04 20:20 934在开发Android的widget时,第一个需要解决的问题就是 ... -
来自腾讯、谷歌、百度等名企的精选面试五十题
2012-10-07 23:08 942http://www.apkway.com/thread-90 ... -
Android 中Parcelable的作用
2012-09-24 09:53 885android提供了一种新的类型:Parcel。本类被用作封装 ... -
[Android算法] 【eoeAndroid索引】史上最牛最全android开发知识汇总
2012-09-13 09:33 1129http://www.eoeandroid.com/threa ... -
安卓航班推荐70个具有商业实战性的精品Android源码
2012-08-01 00:00 948http://www.apkway.com/thread-58 ... -
Android测试教程汇总
2012-08-02 14:51 1163http://www.apkway.com/thread-67 ... -
Service 与 Thread 的区别
2012-07-26 00:10 927Service 与 Thread 的区别 很多时候,你可能 ... -
android 使用百度地图画轨迹
2012-07-26 00:08 2652import android.content.Context ... -
android百度地图半径画圆
2012-07-26 00:07 2806Java代码 import android.content ... -
Android下获取开机时间
2012-07-26 00:05 1341我的思路是:程序里注册个广播接收器,接收开机启动的广播,当程序 ... -
android 高仿【优酷】圆盘旋转菜单 的实现
2012-07-26 00:03 1373MyAnimation.java Java代码 pack ... -
android 3D 转盘效果(附源码)
2012-07-25 23:41 1818一个仿3D的转盘效果,有倒影特效,旋转图标还可自动放大缩小。由 ... -
Android Thread
2012-07-23 10:47 1075创建新线程的常用方式: 1. 直接使用Thread创建 ... -
Android 通过手说tts中文语音包实现中文朗读
2012-07-22 17:09 1818Android 通过手说tts中文语音包实现中文朗读 ... -
Android 使用HTTPClient调用Web请求(查询手机号码区域)
2012-07-21 00:33 1270Android通过Apache HttpClient调用网上提 ... -
Android+struts2+JSON方式的手机开发
2012-07-21 00:14 1182http://topmanopensource.iteye.c ... -
android九宫格实现
2012-07-21 00:03 1020android九宫格实现,开始以为很复杂,其实只要知道了如何布 ... -
Android ListView圆角实现
2012-07-20 23:59 1229在android上开发项目,如 ... -
Android 将一个Activity转化为View显示出来
2012-07-19 10:27 2100最近看到好多opengl牛人写了些立方体,卷页之类的华丽的代码 ...
相关推荐
这个话题将深入探讨如何在Android中创建一个支持横行滚动的ListView。 首先,我们可以通过自定义ViewGroup实现这一功能。继承LinearLayout或HorizontalScrollView,重写onMeasure()和onLayout()方法,以确保子视图...
### Android ListView 控件基本用法详解 #### 一、引言 在Android应用开发中,经常需要展示大量的数据项,并且这些数据项通常具有相似的结构。为了有效地处理这类需求,Android提供了一种非常有用的控件——`...
* android:scrollbars:指定 ListView 控件滚动条的方向。 二、ListView 控件的布局 在上面的代码中,我们可以看到 ListView 控件被嵌套在一个 LinearLayout 中。这个 LinearLayout 的 ID 为 listLinearLayout,...
在Android开发中,ListView是应用界面中非常常见的一种控件,它用于展示大量数据的列表形式,具有良好的滚动性能和可扩展性。本教程将详细讲解如何在安卓手机上使用ListView控件,从基础到进阶,通过四个案例来帮助...
在WPS Office中,有时会遇到不同版本的内置控件不兼容的问题,比如日期控件和ListView控件。本教程将详细介绍如何在VBA中注册并使用这些控件,以克服兼容性问题。 1. **VBA日期控件**: VBA中的日期控件通常指的是...
- **功能**:ListView控件可以用来展示表格形式的数据,并支持多种视图模式(如图标、列表、详细信息等)。 - **优势**:与传统的表格控件相比,ListView控件提供了更多的定制选项,包括自定义列宽、对齐方式等,...
Android ListView 控件显示数据库中图片 Android ListView 控件是 Android 开发中常用的控件之一,但是在创建 ListView 时,总是感觉步骤繁琐,这里对其进行总结,方便查阅。程序的效果是实现一个显示联系人的简单...
在Android开发中,ListView是一个非常重要的控件,它允许开发者在一个垂直滚动的列表中展示大量数据。本篇文章将深入探讨ListView的基本用法、工作原理以及优化策略,旨在帮助你掌握这个核心组件。 **1. ListView的...
ListView 控件可有 4 种不同的视图显示方法 ListView 控件是 Windows 操作系统中的一种常用控件,能够显示大量的数据,并提供了多种视图显示方法。根据不同的应用场景,可以选择适合的视图显示方法。 一、视图显示...
ListView控件支持各种鼠标和键盘事件,如`MouseClick`, `MouseMove`, `KeyDown`, `KeyUp`等,可以用来处理用户的交互。 8. 分组功能 自.NET Framework 2.0起,ListView支持分组功能,通过`Groups`属性可以创建和...
这个“android demo,自定义支持横向滚动的ListView”正是为了解决这个问题,让我们深入探讨相关知识点。 首先,要实现横向滚动的ListView,我们需要了解并掌握以下几个关键点: 1. **自定义ViewGroup**: 自定义...
在C#编程中,ListView控件是一个非常常用且功能强大的组件,主要用于展示数据集,它提供了多种视图模式,如大图标、小图标等,并支持添加、删除项以及复选框功能。本教程将深入讲解如何利用C#的ListView控件进行开发...
环境:Windows XP SP3、JDK 1.6、Android SDK...目的:熟悉ListView控件的用法--使用ListView必须让Activity继承ListActivity类,并且在main.xml布局描述文档中,ListView类的android.id必须是"@+id/android:list”值。
在C#编程中,ListView控件是一个非常常用的数据展示组件,它允许开发者以列表形式展示数据,支持多种视图模式,如图标、列表、详细信息等。本篇将深入探讨如何在C#中读取ListView控件的内容,以及如何通过Spy++工具...
在VB(Visual Basic)编程中,常常需要处理与Excel数据的交互,比如读取Excel表格中的数据并将其显示在ListView控件中。ListView控件是一个非常实用的组件,可以用来展示列表形式的数据,包括多种视图模式,如图标、...
在 Android 中,实现下拉刷新需要自定义ListView控件,重写ListView的OnScrollListener接口,以便在ListView滚动时检测用户的下拉操作。同时,需要在ListView的头部添加一个View,用于显示刷新状态。 在本文中,...
在Android开发中,ListView是一种非常常用的控件,用于展示大量数据列表。自定义ListView不仅可以满足基本的显示需求,还能实现更多的交互效果,如下拉刷新和上拉加载更多功能。这两种功能在现今的移动应用中非常...
在Android开发中,ListView是一种非常常见的控件,它与Windows中的ListView控件有着类似的功能,用于展示可滚动的多行数据列表。ListView以其高度可定制性和高效的数据处理能力,成为了展示大量数据的理想选择。本篇...
ListView控件在VB6.0中是一个非常重要的可视化组件,它允许程序员以列表形式展示数据,支持多种视图模式,如大图标、小图标、列表和详细信息等。本教程将深入探讨ListView控件的综合应用,旨在帮助初学者更好地理解...