`
android_mylove
  • 浏览: 399582 次
社区版块
存档分类
最新评论

Android 滑动效果高级篇(八)—— 自定义控件

 
阅读更多

自定义控件,较常用View、ViewGroup、Scroller三个类,其继承关系如下:


本示例自定义控件,实现一个Gallery效果,并添加了一个显示View个数和位置的bar条,效果图:



自定义控件,包含通过继承实现的自定义控件和自定义控件属性两部分,即控件和属性

1、自定义属性

自定义属性,分为定义属性、解析属性、设置属性三部分,具体步骤:

首先,在res/valus/attrs.xml属性资源文件中,定义控件属性


然后,在自定义控件的代码中,解析自定义的属性,如在PagerBar.java:


最后,在布局文件中设置属性,如在main.xml


其中,在布局中间main.xml中,需要注意:

xmlns:myapps="http://schemas.android.com/apk/res/com.homer.mycontrol"

定义属性时,在declare-styleable的name中,需要包含com.myapps.widget.PagerBar,表示自定义的控件PageBar是widget子类,myapps是xmlns解析标记

解析属性时,在TypedArray中,需要包含R.styleable.com_myapps_widget_PagerBar,横线替换了圆点.

定义属性时,在com.homer.mycontrol.PagerBar中,需要包含myapps:roundRectRadius="2dip",加上myapps解析标记


2、自定义控件PagerBar

自定义PagerBar,在图片下方用来显示图片滑到了第几页,即上面效果图(图2、图3)中的下部银白色细条,具体实现:


3、自定义控件Pager

自定义控件Pager,继承自ViewGroup,用来显示图片的,类似于Gallery,实现主要部分包含:

A、自定义属性解析

B、Pager容器控件Scroller滑动页设置与控制

C、容器状态保存(onSaveInstanceState)

D、容器事件监听接口


详细实现如下:

A、自定义属性解析


B、Pager容器控件Scroller滑动页设置与控制



C、容器状态保存(onSaveInstanceState)


D、容器事件监听接口



代码下载



参考推荐:

Android中自定义属性的使用

Android中自定义属性的格式详解

Scroller(Android)Scroller(cnblog)

Android Parcelable

Android左右滑动加载分页


分享到:
评论

相关推荐

    安卓Android源码——自定义控件入门级demo.zip

    这个“安卓Android源码——自定义控件入门级demo.zip”压缩包提供了一些基础的实例,帮助开发者了解和掌握自定义控件的基本步骤。下面将详细介绍相关知识点。 1. **自定义控件的动机**: 自定义控件的主要目的是...

    博客《PullScrollView详解(一)——自定义控件属性》对应源码

    博客《PullScrollView详解(一)——自定义控件属性》深入探讨了如何自定义这个控件,以满足特定的交互需求。通过阅读博客并分析提供的源码,我们可以学习到以下几个重要的知识点: 1. **自定义控件**:在Android中...

    android之自定义开关控件

    在Android开发中,自定义控件是提升应用用户体验和界面美观度的重要手段。"android之自定义开关控件"这个主题旨在教你如何在Android平台上创建一个类似苹果iOS Toggle的自定义开关组件。以下是对这个主题的详细讲解...

    Android-该自定义控件是一个可以滑动改变温度值的表盘控件

    本文将深入探讨一个特定的自定义控件——“滑动温度表盘控件”,它允许用户通过滑动来调整显示的温度值。这个控件适用于各种需要显示和调节温度的应用,如气象应用、智能家居控制面板等。 首先,我们需要理解自定义...

    安卓Android源码——自定义头部控件,简单易用.zip

    本资源包“安卓Android源码——自定义头部控件,简单易用.zip”提供了一个实现这一功能的示例,帮助开发者快速理解和创建自己的自定义头部组件。 1. **自定义头部控件的基本概念**: 在Android中,自定义头部控件是...

    【入门】Android自定义控件——验证码

    这篇博文"【入门】Android自定义控件——验证码"旨在引导开发者如何创建一个专用于显示和交互的验证码控件。验证码通常用于验证用户身份,防止自动化程序进行恶意操作,如注册、登录等。 验证码控件的基本要素包括...

    安卓Android源码——安卓Android 自定义头部控件,简单易用.zip

    9. **测试与调试**:编写单元测试和UI测试来验证自定义控件的功能,同时使用Android Studio的调试工具进行调试,确保其在各种场景下表现稳定。 10. **文档与注释**:为了使其他开发者能更好地理解你的代码,提供...

    安卓Android源码——自定义seekbar源码.zip

    本文将深入探讨如何在Android系统中自定义SeekBar源码,以满足特定的设计需求和交互效果。 首先,我们了解下原生 SeekBar 的基本结构。SeekBar 是基于 ProgressBar 的组件,它具有一个可滑动的 thumb(拇指)和两个...

    Android-Swipe-Deck-仿Tinder的可以左右滑动消除卡片效果的自定义控件

    总之,`Android-Swipe-Deck`是一个实现Tinder风格卡片滑动的自定义控件,它涉及到了Android的`CardView`、触摸事件处理、`RecyclerView`、自定义动画和适配器等多个核心知识点。通过这个项目,开发者不仅可以学习到...

    Android自定义组件——单向滑动(仿facebook)

    一个仿Facebook和人人网的侧滑效果,详细请看:Android自定义组件系列【3】——自定义ViewGroup实现侧滑(http://blog.csdn.net/dawanganban/article/details/24007215)

    安卓Android源码——抽屉控件.zip

    这个压缩包文件"安卓Android源码——抽屉控件.zip"可能包含了一个示例项目,用于帮助开发者理解和实现自定义抽屉效果。 抽屉控件在Android中的使用基于Android Support Library(现在称为AndroidX),是`androidx....

    安卓Android源码——ScrollableTabHosttab控件.zip

    综上所述,`Android ScrollableTabHost tab控件`是一个解决标签过多问题的自定义组件,涉及到了Android UI设计、自定义控件开发、触摸事件处理、数据适配等多个方面,是Android开发中的一个实用技术。通过研究这个...

    安卓Android源码——多种控件多种实现方式Demo.zip

    `src`目录存放源代码,我们可以在这里找到Java类,包括自定义控件的实现、事件处理逻辑等。 `res`目录存储应用的资源文件,如布局文件(layout)、图片(drawable)、字符串(values)等。在多控件实现的Demo中,...

    安卓Android源码——安卓Android滑动选择控件WheelView,双级联动,有图有真相.zip

    通过分析和学习这个名为“安卓Android源码——安卓Android滑动选择控件WheelView,双级联动,有图有真相.rar”的压缩包,开发者不仅可以掌握WheelView的实现,还能深入理解Android自定义控件的设计和优化技巧。...

    Android 高仿 QQ5.0 侧滑菜单效果 自定义控件

    本文将深入探讨如何实现这样一个自定义控件,并重点关注其中的缩放效果。 首先,我们要明白侧滑菜单的基本构成:主界面(通常是一个Fragment或Activity)和菜单界面(同样可以是Fragment或单独的布局)。当用户从...

    安卓开发-Android滑动选择控件WheelView,双级联动,有图有真相.zip

    在提供的"Android滑动选择控件WheelView,双级联动,有图有真相.rar"文件中,你应该能找到一个示例项目,它包含了实现上述功能的源代码和相关的截图。通过查看和运行这个项目,你可以更好地理解WheelView的使用和双...

    自定义控件

    总之,自定义控件是Android开发中的高级技巧,它结合了对布局机制的深入理解和Java编程的技巧。通过LinearLayout和FrameLayout的自定义,开发者可以创造出更符合需求的界面元素,提升应用的视觉效果和功能特性。对于...

    Android源码——多种android控件的Demo_new_40.zip

    3. **自定义控件**:Android允许开发者自定义控件,以满足特定的界面设计或功能需求。在Demo中,可能会包含一些自定义控件的示例,比如自定义进度条、自定义滑动选择器等。理解自定义控件的原理,能够提升开发者的...

    安卓Android源码——数字标识控件.zip

    1. **自定义View**: 在Android中,开发者可以通过继承View或其子类来创建自定义控件。这通常涉及到重写`onDraw()`方法,用以绘制控件的外观。此外,可能还需要实现触摸事件处理、尺寸计算等功能。 2. **XML布局**: ...

    Android例子源码——可以一次性选择两个日期的自定义日历控件.zip

    这个压缩包文件包含了一个针对Android平台的自定义日历控件的源代码示例,它允许用户一次性选择...通过研究这个源码,开发者可以学习到如何在Android平台上创建具有复杂交互功能的自定义控件,从而提升自己的编程技能。

Global site tag (gtag.js) - Google Analytics