男人应似海  

随笔分类 -  Android自定义组件

Android自定义组件
  • 自定义树形结构组件—TreeView
    摘要:自定义树形结构组件—TreeView注:该文章为(男人应似海)原创,如需转载请注明出处!组件功能实现树形结构目录效果效果图实现方式用两个树形节点类集合分别去存储所有节点(List<TreeElement> treeElements)和当前显示节点(List<TreeElement> currentElements),当前显示节点集合currentElements中的数据显示在ListView中。当点击含有子节点的节点时(如上图中的A、B、C、CC11)会把相应的子节点从所有节点集合treeElements中找到并添加当前显示节点集合currentElements中在Li 阅读全文
    posted @ 2011-11-30 11:50 男人应似海 阅读(19101) 评论(12) 推荐(3)
  • 自定义图片缩放组件—ImageZoomView
    摘要:自定义图片缩放组件—ImageZoomView注:该文章为(男人应似海)原创,如需转载请注明出处!组件功能实现图片的手势缩放和移动效果图说明:效果图中下方得放大缩小组件是Android系统自带的组件ZoomControls,这里为了看上去美观和实现点击该组件放大图片,所以加上了该组件。点击图片时会隐藏该组件实现全屏浏览,具体实现请查看后面的代码。实现方式利用Java观察者模式实现(具体请查看java文章文章“java观察者模式介绍”),共包括三个类,它们的名称和功能分别是:(1)ImageZoomView.java : 该类继承了View类,相当于观察者,随状态改变更新图片显示。(2)Imag 阅读全文
    posted @ 2011-11-21 15:39 男人应似海 阅读(7356) 评论(18) 推荐(2)
  • 自定义组件—LoadingProcessView
    摘要:自定义组件—LoadingProcessView注:该文章为(男人应似海)原创,如需转载请注明出处!当我们使用WebView加载网页时,我们会希望在网页加载过程中有个进度提示,这样用户体验会更好些。实现这样的功能有两种方法:1. 通过调用相应方法,使用系统自带的组件来完成。进度条颜色和位置固定不可修改。效果图如下(顶部绿色为进度条)2. 通过自定义组件,根据自己的需要或喜好来实现。进度条颜色和位置可以自由安排。效果图如下(底部红色为进度条)显然,我们更喜欢第二种方法。下面是两种方法的具体实现: 1.第一种实现方式:布局文件webview_progress_layout.xml<?xml 阅读全文
    posted @ 2011-10-10 10:27 男人应似海 阅读(982) 评论(1) 推荐(0)
  • 自定义布局-ScrollLayout
    摘要:自定义布局-ScrollLayout 注:该文章为(男人应似海)原创,如需转载请注明出处!该类的功能是实现随手指滑动切换页面的功能,类似Gallery(但是Gallery限制太多,比如每页布局必须相同)。有的同学可能会想到我们可以在 onTouchEvent (MotionEvent event)方法中进行判断,当左右滑动时,执行startActivity(Context context)方法达到切换页面的效果。但是使用这种方法进行切换是没有过度效果的,只是刷的一下就过去了,而使用这个继承了ViewGroup的布局就可以达到这个效果了。如下图所示:ScrollLayout类代码public c 阅读全文
    posted @ 2011-10-10 10:02 男人应似海 阅读(10822) 评论(10) 推荐(4)
  • 自定义组件—MyDownLoadProgressDialog
    摘要:自定义组件—MyDownLoadProgressDialog注:该文章为(男人应似海)原创,如需转载请注明出处!该组件的功能是实现文件下载时的进度显示,效果图如下:代码:package diy.ts.wader.widget;import java.text.DecimalFormat;import java.text.NumberFormat;import android.app.AlertDialog;import android.content.Context;import android.os.Bundle;import android.os.Handler;import androi 阅读全文
    posted @ 2011-10-10 09:53 男人应似海 阅读(2349) 评论(1) 推荐(0)
  • 自定义组件—MyListView
    摘要:自定义组件—MyListView注:该文章为(男人应似海)原创,如需转载请注明出处!该组件的功能有三个:(1) 任意加头去头,加脚去脚。我们知道ListView在setAdapter之后再调用addHeader方法会抛出异常,而加脚有时管用,有时不管用。Android开发文档中也明确指出ListView在setAdapter之后不应该再进行setHeader和setFooter方法。这明显不能满足我们的实际需求。我的解决方案是:在setAdapter之前给ListView先加上一个空头布局和空脚布局,布局高度设为wrap_content,这样当头或脚布局中没有任何组件时,头和脚是看不到的。当需 阅读全文
    posted @ 2011-10-10 09:46 男人应似海 阅读(3066) 评论(17) 推荐(1)
  • 自定义组件—MyButton
    摘要:自定义组件—MyButton注:该文章为(男人应似海)原创,如需转载请注明出处!该组件的功能有三个:(1) 可指定文字相对Button左边界显示的位置。(2) 可根据指定的可视宽度自动将字符串后面无法显示的部分用省略号代替。(3) 可实现跑马灯效果。这三种功能可通过分别调用MyButton的三个init方法来实现。效果图如下:代码:package diy.ts.wader.widget;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import androi 阅读全文
    posted @ 2011-10-10 09:17 男人应似海 阅读(1810) 评论(0) 推荐(0)