- 浏览: 7341119 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
在手机的桌面实现三屏页面滑动显示方式实现如下:
注意长方形中的图表变化
主要的布局文件如下:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/guidePages" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:id="@+id/viewGroup" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="30dp" android:gravity="center_horizontal" android:orientation="horizontal" > </LinearLayout> </RelativeLayout> </FrameLayout>
主要的代码文件如下:
package com.easyway.guide; import android.app.Activity; import android.os.Bundle; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.widget.ImageView; /** * 使用Android-suport-v4.jar中android的扩展功能ViewPager实现左右滑动的切换的功能 * 此种功能在智能机的桌面应用中多屏信息的展示中使用 * * @Title: * @Description: 实现TODO * @Copyright:Copyright (c) 2011 * @Company:易程科技股份有限公司 * @Date:2012-7-16 * @author longgangbai * @version 1.0 */ public class AndroidGuideViewActivityActivity extends Activity { private ViewPager viewPager; private ArrayList<View> pageViews; private ViewGroup main, group; private ImageView imageView; private ImageView[] imageViews; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); //获取页面的布局 LayoutInflater inflater = getLayoutInflater(); pageViews = new ArrayList<View>(); pageViews.add(inflater.inflate(R.layout.list_item0, null)); pageViews.add(inflater.inflate(R.layout.list_item1, null)); pageViews.add(inflater.inflate(R.layout.list_item2, null)); pageViews.add(inflater.inflate(R.layout.list_item3, null)); imageViews = new ImageView[pageViews.size()]; //获取相关的容器 main = (ViewGroup)inflater.inflate(R.layout.main, null); // group是R.layou.main中的负责包裹小圆点的LinearLayout. group = (ViewGroup)main.findViewById(R.id.viewGroup); //获取ViewPager对象 viewPager = (ViewPager)main.findViewById(R.id.guidePages); //创建相关的ImageView对象并添加对象 for (int i = 0; i < pageViews.size(); i++) { imageView = new ImageView(AndroidGuideViewActivityActivity.this); imageView.setLayoutParams(new LayoutParams(20,20)); imageView.setPadding(20, 0, 20, 0); imageViews[i] = imageView; if (i == 0) { //默认选中第一张图片 imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused); } else { imageViews[i].setBackgroundResource(R.drawable.page_indicator); } group.addView(imageViews[i]); } //设置布局 setContentView(main); //设置相关的适配器对象 viewPager.setAdapter(new GuidePageAdapter()); //设置相关的响应事件 viewPager.setOnPageChangeListener(new GuidePageChangeListener()); } /** 指引页面Adapter */ class GuidePageAdapter extends PagerAdapter { @Override public int getCount() { return pageViews.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getItemPosition(Object object) { // TODO Auto-generated method stub return super.getItemPosition(object); } @Override public void destroyItem(View arg0, int arg1, Object arg2) { // TODO Auto-generated method stub ((ViewPager) arg0).removeView(pageViews.get(arg1)); } @Override public Object instantiateItem(View arg0, int arg1) { // TODO Auto-generated method stub ((ViewPager) arg0).addView(pageViews.get(arg1)); return pageViews.get(arg1); } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { // TODO Auto-generated method stub } @Override public Parcelable saveState() { // TODO Auto-generated method stub return null; } @Override public void startUpdate(View arg0) { // TODO Auto-generated method stub } @Override public void finishUpdate(View arg0) { // TODO Auto-generated method stub } } /** 指引页面改监听器 */ class GuidePageChangeListener implements OnPageChangeListener { @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int arg0) { for (int i = 0; i < imageViews.length; i++) { imageViews[arg0] .setBackgroundResource(R.drawable.page_indicator_focused); if (arg0 != i) { imageViews[i] .setBackgroundResource(R.drawable.page_indicator); } } } } }
- AndroidGuideViewActivity.zip (826.4 KB)
- 下载次数: 24
发表评论
-
[转]年度最实用50款免费Android应用推荐
2012-11-08 16:39 3377据国外媒体报道,有人说Android应用市场比iPhone应用 ... -
GIS的学习(四十五)【转】Integration of the MBTiles format on Android
2012-10-22 17:13 2945转载自 http:/ ... -
GIS的学习(四十四)osmdroid sdcard检查
2012-10-15 16:12 2339在许多应用中使用到sdcard的检查,在osmdro ... -
GIS的学习(四十三)osmdroid基于几个经典代理类
2012-10-15 16:06 2632在osmdroid中给基于位置的代理类如下: pack ... -
Android中PopupWindow的用法(位置、动画、焦点)
2012-10-12 14:12 11522在Android中有很多级别的Window,不同级别的Wind ... -
【转】Android根据分辨率进行单位转换-(dp,sp转像素px)
2012-10-11 09:18 27134Android系统中,默认的单位是像素(px)。也就是说,在没 ... -
GIS的学习(二十九)Osmdroid 离线地图存放位置的研究和详细分析
2012-09-23 11:49 11544在手机通过osmdroid调用离线地图必须放在 ... -
GIS的学习(二十八)Osmdroid相关的开源项目
2012-09-23 11:31 25430osm 数据格式(openstreet map)与Ro ... -
GIS的学习(二十七)通过geoserver的georss访问第三方地图
2012-09-23 00:34 3601在geoserver中如果想调用第三方地图可以采 ... -
android中使用 定时更新界面定时器Timer的使用
2012-09-22 22:09 25523handler的使用 一、Handler的定义: ... -
【转】Android应用程序的自动更新升级(自身升级、通过tomcat) .
2012-09-16 15:03 7364http://blog.csdn.net/mu0206mu/a ... -
GIS的学习(二十七)OGC 的WCS WFS 及WMS 服务
2012-09-11 22:22 12124http://www.gisall.com/?6678/v ... -
GIS的学习(二十六)geotools 使用 部分代码总结
2012-09-11 22:20 5730前段时间的一个项目 本来用ae完成了种种的 查询,空间分析等等 ... -
GIS的学习(二十五)geoserver wms中的各种操作API详细讲解和使用
2012-09-10 17:42 9710官方geoserver中WMS服务中几种操作的API的详细说明 ... -
GIS的学习(二十四)android异步调用geoserver wms中的地图
2012-09-10 17:38 8170在geoserver的客户端通过wms的GetMap实现 ... -
GIS的学习(二十三)geoserver中CQL和ECQL的使用
2012-09-10 16:29 6633以下引用自官方文档: CQL and ECQL¶ CQ ... -
GIS的学习(二十二)osmdroid中添加縮放控件
2012-09-06 23:09 2787package com.geoserver.osmdroid; ... -
GIS的学习(二十一)在osmdroid 地图中添加marker 并添加事件
2012-09-06 22:27 6625我有 osmdroid,overlayswithf ... -
GIS的学习(二十)基于Geoserver的WFS服务与Openlayers实现地理查询
2012-08-30 18:48 11408基于Geoserver发布的wfs服务,与Openlayers ... -
GIS的学习(十九)Geoserver使用添加,删除,查询地图中的POI
2012-08-30 17:28 10354在geoserver自定义的地图中通过geoserver ...
相关推荐
这个"仿Android4.0左右滑动切换Tab的UI的源代码.rar"提供了实现这一功能的示例代码,名为DWinterTabDemo。在这个项目中,开发者可以学习如何利用Android的Viewpager、Fragment和TabLayout等组件来构建这样的交互式...
1. **ViewPager**: Android中的`ViewPager`组件是实现左右滑动切换页面的核心。它允许用户通过横向滑动来浏览多个页面,每个页面通常对应一个`Fragment`。在Android 4.0(API Level 14)中,`ViewPager`被引入,极大...
这个源码项目,"Android应用源码仿4.0左右滑动切换Tab的UI的源代码.zip",旨在实现一种类似Android 4.0(Ice Cream Sandwich)系统的Tab切换效果,让用户通过左右滑动来浏览不同的内容区域。这个设计模式在移动应用...
1. **平台框架API**:ICS引入了API级别15,扩展了Android的编程接口,增加了许多新特性,如人脸识别登录、数据同步适配器、新的图形库等。开发者可以利用这些API来实现更高级的功能和更好的用户体验。 2. **Android...
3. **动画效果**:`Switch`的滑动动画是由`SwitchCompat`(在AppCompat库中提供,适用于更低版本的Android)的`SwitchDrawable`类实现的。当开关状态改变时,该类会计算出滑动距离并绘制动画。 4. **自定义样式**:...
Gallery3D是Android系统中一个经典的3D图像浏览应用,尤其在Android 4.0(冰淇淋三明治)版本中,它提供了流畅且富有视觉冲击力的用户体验。这个源码是开发者深入理解Android 3D图像处理、动画效果以及性能优化的...
- **Workspace**和**Screen**:抽象出工作区和屏幕的概念,每个屏幕可以看作是一个单独的桌面页,用户可以左右滑动切换。 - **AppWidgetHostView**:承载小部件的视图,与AppWidgetManager协同工作,显示并更新小...
Gallery3D是一款在Android 4.0系统中内置的3D图片浏览应用,它为用户提供了流畅、直观的图像浏览体验,尤其是在高性能设备上,其3D效果尤为突出。这款应用充分利用了硬件加速功能,使得图像的加载与切换更为迅速,为...
ViewPager是Android SDK中的一个关键组件,用于展示多个页面并允许用户通过左右滑动来切换这些页面。在Material Design中,ViewPager经常用于实现卡片式布局,提供流畅的过渡动画和响应式的触摸反馈。`...
在Android开发中,`android-support-v4`库是Google提供的一款重要的支持库,它使得开发者能够在更低版本的Android系统上实现一些高版本的功能。这个库包含了许多类和接口,为开发者提供了广泛的功能扩展,比如...
然而,标准的ListView通常是垂直滚动的,而“自定义横向ListView4.0”则打破了这一常规,提供了水平滚动的效果,使得用户可以在水平方向上浏览数据。这种自定义组件在设计时可能涉及到Android布局管理、适配器机制、...
**AppCompat_v7库**是支持设计库的基础,它包含了对Android原生主题的扩展,使开发者能够将Material Design风格引入到Android 4.0 (API级别14)及更低版本的应用中。`appcompat_v7`库提供了许多关键组件,如ActionBar...
`android-support-v4.jar` 则是另一个广泛使用的库,它包含了大量在Android 4.0(API级别14)及更高版本中可用的功能,但向下兼容到Android 1.6(API级别4)。这个库提供了许多关键服务和组件,如Fragment、Loader、...
3. **ViewPager**:一个可以左右滑动切换页面的视图,常用于实现滑动Tab或图片轮播。 4. **AsyncTask**:简化了短时间后台任务的执行,便于在主线程与后台线程之间进行数据交换。 5. **BroadcastReceiver**、`...
CardView用于创建具有阴影和圆角效果的卡片式布局,而Design库则提供了滑动返回、悬浮按钮等Material Design设计元素。 `android-support-v13`主要针对API级别13及以上的设备,它提供了一些额外的功能,如...
Android Support Library中的ViewPager允许用户左右滑动查看多个页面,结合TabLayout可以创建现代风格的Tab。TabLayout会根据ViewPager的数据自动创建Tab,并随页面的切换更新选中状态。这种方式在Android 4.0及...
通过深入研究这些文件,开发者可以学习到如何创建符合Android设计指南的界面,如何自定义和扩展控件,以及如何实现平滑的过渡和动画效果。此外,HoloEverywhere也支持自定义主题,让开发者可以根据品牌需求调整颜色...
“HoloEverywhere”是一个开源库,它扩展了Android的官方支持库,目的是为了让开发者能够方便地在Android 2.1及更高版本上使用Android 3.0(Honeycomb)引入的Holo主题。Holo主题是Android 4.0(Ice Cream Sandwich...