登录
首页 » Android » Android 显示时钟 圆形指针时钟

Android 显示时钟 圆形指针时钟

于 2022-02-06 发布 文件大小:6.78 kB
0 147
下载积分: 2 下载次数: 1

代码说明:

Android 显示时钟 圆形指针时钟,显示Windows时间,比较经典的圆形钟表时钟。这类例子似乎比较多了,本例子是超简单类型的,想学习android应用开发的初学者可学习参考。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • android 仿微信浏览相册图片例子源码下载
    [实例简介] 仿微信浏览相册图片, 相册浏览 [实例截图] [核心代码]import java.io.File;import java.io.FilenameFilter;import java.util.ArrayList;import java.util.Arrays;import java.util.HashSet;import java.util.List;import android.app.Activity;import android.app.ProgressDialog;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.os.Environment;import android.os.Handler;import android.provider.MediaStore;import android.util.DisplayMetrics;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup.LayoutParams;import android.view.WindowManager;import android.widget.GridView;import android.widget.PopupWindow.OnDismissListener;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.Toast;import com.zhy.bean.ImageFloder;import com.zhy.imageloader.ListImageDirPopupWindow.OnImageDirSelected;public class MainActivity extends Activity implements OnImageDirSelected{ private ProgressDialog mProgressDialog; /** * 存储文件夹中的图片数量 */ private int mPicsSize; /** * 图片数量最多的文件夹 */ private File mImgDir; /** * 所有的图片 */ private List mImgs; private GridView mGirdView; private MyAdapter mAdapter; /** * 临时的辅助类,用于防止同一个文件夹的多次扫描 */ private HashSet mDirPaths = new HashSet(); /** * 扫描拿到所有的图片文件夹 */ private List mImageFloders = new ArrayList(); private RelativeLayout mBottomLy; private TextView mChooseDir; private TextView mImageCount; int totalCount = 0; private int mScreenHeight; private ListImageDirPopupWindow mListImageDirPopupWindow; private Handler mHandler = new Handler() { public void handleMessage(android.os.Message msg) { mProgressDialog.dismiss(); // 为View绑定数据 data2View(); // 初始化展示文件夹的popupWindw initListDirPopupWindw(); } }; /** * 为View绑定数据 */ private void data2View() { if (mImgDir == null) { Toast.makeText(getApplicationContext(), "擦,一张图片没扫描到", Toast.LENGTH_SHORT).show(); return; } mImgs = Arrays.asList(mImgDir.list()); /** * 可以看到文件夹的路径和图片的路径分开保存,极大的减少了内存的消耗; */ mAdapter = new MyAdapter(getApplicationContext(), mImgs, R.layout.grid_item, mImgDir.getAbsolutePath()); mGirdView.setAdapter(mAdapter); mImageCount.setText(totalCount "张"); }; /** * 初始化展示文件夹的popupWindw */ private void initListDirPopupWindw() { mListImageDirPopupWindow = new ListImageDirPopupWindow( LayoutParams.MATCH_PARENT, (int) (mScreenHeight * 0.7), mImageFloders, LayoutInflater.from(getApplicationContext()) .inflate(R.layout.list_dir, null)); mListImageDirPopupWindow.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss() { // 设置背景颜色变暗 WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = 1.0f; getWindow().setAttributes(lp); } }); // 设置选择文件夹的回调 mListImageDirPopupWindow.setOnImageDirSelected(this); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DisplayMetrics outMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(outMetrics); mScreenHeight = outMetrics.heightPixels; initView(); getImages(); initEvent(); } /** * 利用ContentProvider扫描手机中的图片,此方法在运行在子线程中 完成图片的扫描,最终获得jpg最多的那个文件夹 */ private void getImages() { if (!Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { Toast.makeText(this, "暂无外部存储", Toast.LENGTH_SHORT).show(); return; } // 显示进度条 mProgressDialog = ProgressDialog.show(this, null, "正在加载..."); new Thread(new Runnable() { @Override public void run() { String firstImage = null; Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; ContentResolver mContentResolver = MainActivity.this .getContentResolver(); // 只查询jpeg和png的图片 Cursor mCursor = mContentResolver.query(mImageUri, null, MediaStore.Images.Media.MIME_TYPE "=? or " MediaStore.Images.Media.MIME_TYPE "=?", new String[] { "image/jpeg", "image/png" }, MediaStore.Images.Media.DATE_MODIFIED); Log.e("TAG", mCursor.getCount() ""); while (mCursor.moveToNext()) { // 获取图片的路径 String path = mCursor.getString(mCursor .getColumnIndex(MediaStore.Images.Media.DATA)); Log.e("TAG", path); // 拿到第一张图片的路径 if (firstImage == null) firstImage = path; // 获取该图片的父路径名 File parentFile = new File(path).getParentFile(); if (parentFile == null) continue; String dirPath = parentFile.getAbsolutePath(); ImageFloder imageFloder = null; // 利用一个HashSet防止多次扫描同一个文件夹(不加这个判断,图片多起来还是相当恐怖的~~) if (mDirPaths.contains(dirPath)) { continue; } else { mDirPaths.add(dirPath); // 初始化imageFloder imageFloder = new ImageFloder(); imageFloder.setDir(dirPath); imageFloder.setFirstImagePath(path); } int picSize = parentFile.list(new FilenameFilter() { @Override public boolean accept(File dir, String filename) { if (filename.endsWith(".jpg") || filename.endsWith(".png") || filename.endsWith(".jpeg")) return true; return false; } }).length; totalCount = picSize; imageFloder.setCount(picSize); mImageFloders.add(imageFloder); if (picSize > mPicsSize) { mPicsSize = picSize; mImgDir = parentFile; } } mCursor.close(); // 扫描完成,辅助的HashSet也就可以释放内存了 mDirPaths = null; // 通知Handler扫描图片完成 mHandler.sendEmptyMessage(0x110); } }).start(); } /** * 初始化View */ private void initView() { mGirdView = (GridView) findViewById(R.id.id_gridView); mChooseDir = (TextView) findViewById(R.id.id_choose_dir); mImageCount = (TextView) findViewById(R.id.id_total_count); mBottomLy = (RelativeLayout) findViewById(R.id.id_bottom_ly); } private void initEvent() { /** * 为底部的布局设置点击事件,弹出popupWindow */ mBottomLy.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mListImageDirPopupWindow .setAnimationStyle(R.style.anim_popup_dir); mListImageDirPopupWindow.showAsDropDown(mBottomLy, 0, 0); // 设置背景颜色变暗 WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.alpha = .3f; getWindow().setAttributes(lp); } }); } @Override public void selected(ImageFloder floder) { mImgDir = new File(floder.getDir()); mImgs = Arrays.asList(mImgDir.list(new FilenameFilter() { @Override public boolean accept(File dir, String filename) { if (filename.endsWith(".jpg") || filename.endsWith(".png") || filename.endsWith(".jpeg")) return true; return false; } })); /** * 可以看到文件夹的路径和图片的路径分开保存,极大的减少了内存的消耗; */ mAdapter = new MyAdapter(getApplicationContext(), mImgs, R.layout.grid_item, mImgDir.getAbsolutePath()); mGirdView.setAdapter(mAdapter); // mAdapter.notifyDataSetChanged(); mImageCount.setText(floder.getCount() "张"); mChooseDir.setText(floder.getName()); mListImageDirPopupWindow.dismiss(); }}
    2015-04-08下载
    积分:1
  • 三级联动查询
    适用省市区的查询,适用spring控件,分为三个
    2022-05-13 16:57:09下载
    积分:1
  • android-mqtt-example
    说明:  安卓通过mqtt协议通信的例程,转载github(Android mqtt communication routine)
    2019-02-17 08:46:19下载
    积分:1
  • GeolocationService
    Implements the Java side of GeolocationServiceAndroid.
    2014-01-06 11:58:07下载
    积分:1
  • 在安卓中使用亚马逊 SimpleDB
    翻译  maninwest@Codeforge 作者:Rahis Shaikh@CodeProject亚马逊网页服务 (AWS)  提供构建连接的移动应用的服务。 AWS 提供的 SimpleDBis 是在云中存储数据的web服务。这里介绍 Android app 和 AWS simpleDB的连接。有关 SimpleDB 详情,请访问以下链接:link- http://aws.amazon.com/simpledb/.背景SimpleDB 理念SimpleDB 是高可用的数据存储。SimpleDB 是使用简单web 服务 API 的非关系型数据存储,让开发流程更加简单。SimpleDB 提供简单的web 服务调用,对AmazonSimpleDB 中存储的数据进行存储和检索。由于是非关系型数据系统,SimpleDB 使用不同于常规数据库系统的术语。 使用代码现在,让我们了解一下如何使用 SimpleDB数据库。我们将创建一个简单项目来在 SimpleDBand  中存储电影信息并从进行检索。在项目中,我们将为电影Movie数据库创建一个应用程序。通过这个应用程序,用户可以在 SimpleDB 中存储信息并检索。为了满足上述要求,我们将设计如下的一个SimpleDB域 ‘movie_info’ :
    2022-03-12 03:22:58下载
    积分:1
  • 简易音乐播放器
    实现音乐播放功能,扫描本机音乐添加音乐,互联网搜索……
    2022-02-02 04:18:53下载
    积分:1
  • android 转盘抽奖 实例源码
    android 转盘抽奖 实例源码
    2013-06-16下载
    积分:1
  • android百度地图经典实例app源码
    百度地图Android SDK v4.3.1 Sample共有28个Demo,每个Demo的说明如下:-------------------------------------------------------------------------------------一、Demo名称:基本地图功能文件名:  BaseMapDemo.java简介:创建一张百度地图并管理地图的生命周期详述:(1)创建一张最简单的百度地图;(2)管理地图的生命周期,具体请参看代码部分的相关注释;(3)可监听地图加载完成事件;(4)给出示例个性化地图、普通地图动态切换-------------------------------------------------------------------------------------二、Demo名称:MapFragment使用文件名:  MapFragmentDemo.java简介:介绍在Fragment框架下使用地图详述:(1)介绍了如何在Fragment框架下添加一个地图地图控件;-------------------------------------------------------------------------------------三、Demo名称:图层展示功能文件名:  LayersDemo.java简介:展示普通图、卫星图、交通流量图和百度城市热力图详述:(1)选择展示地图的图层为普通图或卫星图;(2)在普通图或卫星图上叠加交通流量图;(3)在普通图或卫星图上叠加百度城市热力图;-------------------------------------------------------------------------------------四、Demo名称:多地图展示文件名:  MultiMapViewDemo.java简介:介绍多MapView的使用详述:(1)在一个界面内,同时建立四个MapView控件;(2)地图Logo位置变更,支持6个位置,多图展示中只展示了4个位置-------------------------------------------------------------------------------------五、Demo名称:地图操作功能文件名:  MapControlDemo.java简介:介绍平移和缩放地图,双指操作地图,监听地图点击事件详述:(1)介绍地图缩放级别、旋转度和俯视度的get和set方法;(2)监听单击和长按地图事件;(3)单击、双击和长按地图获取该点的经纬度坐标;(4)对地图显示内容进行截图,截图保存地址为:/mnt/sdcard/test.png;-------------------------------------------------------------------------------------六、Demo名称:UI控制功能文件名:  UISettingsDemo.java简介:介绍开关手势功能和显示隐藏UI控件详述:(1)地图操作开关:平移、缩放、双击放大、双指操作(旋转度和俯视度);(2)控件显示开关:显示/隐藏缩放按钮;(3)指南针位置控制:显示在地图左上角或者右上角(仅举例),开发者可据实际情况任意改变位置;(4)底图标注开关:控制显示/隐藏底图POI,隐藏POI可得到仅显示道路信息的地图(5)禁用所有手势:控制是否一并禁止所有手势。(6)设置地图setPadding,防止UI遮挡Logo等。-------------------------------------------------------------------------------------七、Demo名称:定位图层展示文件名:  LocationOverlayDemo.java简介:介绍定位图层的基本用法详述:(1)可自定义更换位置图标,精度圈填充及边框颜色;(2)支持定位三态效果显示(普通态、跟随态、罗盘态);(3)百度地图SDK从2.0.0版本起,将定位功能进行了分离,具体使用方法请见定位SDK;(4)定位SDK开发指南详见http://developer.baidu.com/map/geosdk-android.htm;(5)支持开发者自定义精度圈边框和填充区域的颜色。-------------------------------------------------------------------------------------八、Demo名称:自定义绘制功能文件名:  GeometryDemo.java简介:介绍自定义绘制点、线、多边形、圆等几何图形和文字详述:(1)支持绘制凸多边形,如要绘制凹多边形请用三角形进行拼接;(2)支持绘制文字;-------------------------------------------------------------------------------------九、Demo名称:覆盖物功能文件名:  OverlayDemo.java简介:介绍添加覆盖物并响应点击功能和弹出pop功能详述:(1)在popup中添加弹出自定义View的示例;(2)点击周围4个Marker,弹出popup,可更新marker位置和更新marker图标;(3)中间显示的为图片图层,该图层可随地图的移动、缩放等做出相应的操作;(4)支持Maker设置透明度的方法,利用滑动条可以展示maker透明度变化;(5)支持Marker设置动画的能力,包含两种方式:从地上生长和从天上落下-------------------------------------------------------------------------------------十、Demo名称:热力图功能文件名:  HeatMapDemo.java简介绘制自有数据热力图详述:(1)设置热力图颜色;(2)准备数据、生成热力图;(3)删除热力图;-------------------------------------------------------------------------------------十一、Demo名称:地理编码功能文件名:  GeoCodeDemo.java简介:介绍地址信息与坐标之间的相互转换详述:(1)正向地理编码:将地址信息转换为经纬度坐标;(2)反向地理编码:将经纬度坐标转换为地址信息;-------------------------------------------------------------------------------------十二、Demo名称:POI搜索功能文件名:  POISearchDemo.java简介:介绍关键词查询、suggestion查询和查看餐饮类Place详情页功能详述:(1)点击某些关键词查询后的结果(如“餐厅”)可跳转到Place详情页;(2)提供suggestion查询进行联想查询,例如输入“天安门”则会弹出联想查询的列表;-------------------------------------------------------------------------------------十三、Demo名称:路径规划功能文件名:  RoutePlanDemo.java, CustomRouteOverlay.java简介:介绍跨城交通、公交、驾车、步行、骑行五种线路规划方法和自设路线方法详述:(1)驾车查询新增路径点查询功能,具体使用方法详见开发者指南路径规划部分,只需重载接口;(2)自设路线功能演示开发者如何自己设定一条路线,包括如何设定起点、终点、途径站点和路段;(3)自设路线功能同时也介绍如何在两个Activity之间切换的时候管理Mapview的生命周期;(4)可自定义路线的起终点图标;----------------------------------------------------------------------------------十四、Demo名称:行政区域边界数据检索文件名称:DistrictSearchDemo.java简介:介绍如何使用行政区域边界数据检索功能,绘制行政区覆盖物和边框详述:(1)通过输入省、市、区/县的名称,绘制出行政区覆盖物和边框----------------------------------------------------------------------------------十五、Demo名称:公交线路查询功能文件名:  BusLineDemo.java简介:介绍查询公交线路功能(1)点击“开始”按钮可查询公交线路;(2)搜索出公交线路后点击“下一条”按钮可查询该线路的反方向公交线路;-------------------------------------------------------------------------------------十六、Demo名称:短串分享功能文件名:  ShareDemo.java简介:将POI点、反Geo点和公交/驾车/骑行/步行线路规划,生成短链接以分享给好友详述:(1)将POI点、反Geo点和公交/驾车/骑行/步行线路规划,生成短链接串,此链接可通过短信等形式分享给好友;(2)好友在终端设备点击此链接可快速打开Web地图、百度地图客户端进行信息展示;(3)暂时开放了“POI搜索结果分享”、“公交/驾车/骑行/步行线路规划”和“反向地理编码结果分享”;(4)日后会开放更多的功能,欢迎广大开发者使用短串分享功能;-------------------------------------------------------------------------------------十七、Demo名称:离线地图功能文件名:  OfflineDemo.java简介:介绍如何下载和使用离线地图详述:(1)可以搜索、下载、删除、查看离线地图;-------------------------------------------------------------------------------------十八、Demo名称:周边雷达功能--RadarDemo文件名:RadarDemo.java注意:需要把应用的key在官网的雷达注册页面进行相关的注册才能使用!注册网址:http://developer.baidu.com/map/index.php?title=radar简介:介绍如果使用周边雷达功能上传位置、检索周边的人详述:(1)获取位置信息并单次上传服务端;(2)获取位置信息连续上传服务端;(3)检索周边用户的位置;(4)用列表的形式及地图的形式展示周边用户的位置等信息;-------------------------------------------------------------------------------------十九、Demo名称:调启百度地图文件名:  OpenBaiduMap.java简介:介绍如果利用简单接口调用,开启百度地图客户端实现复杂逻辑业务详述:(1)调启百度地图导航(Native);(2)调启百度地图导航(Web);(3)调启百度地图POI周边检索;(4)调启百度地图POI详情检索;(5)调启百度地图步行线路规划;(6)调启百度地图驾车线路规划;(7)调启百度地图公交线路规划;(8)调启百度地图步行导航;(需百度地图App 8.6.6以上版本支持)(9)调启百度地图骑行导航(需百度地图App 8.6.6以上版本支持) (10) 调启百度地图poi点全景展示; (11) 调启百度地图步行AR导航;-------------------------------------------------------------------------------------二十、Demo名称:点收藏功能--FavoriteDemo文件名:FavoriteDemo.java简介:介绍如何创建、管理本地点数据详述:(1)新建本地点收藏;(2)查看已收藏本地点;(3)删除已收藏本地点;-------------------------------------------------------------------------------------二十一、Demo名称:LBS.云检索功能文件名:  CloudSearchDemo.java简介:介绍如何使用LBS.云检索用户自有数据注意:自v2.2.0起,SDK支持LBS云v2版的检索,使用v1版的用户请尽快完成升级或使用较低SDK版本。详述:(1)LBS.云是百度地图针对LBS开发者推出的平台级服务;(2)提供海量位置数据存储、检索、展示一体化解决方案;(3)该服务对开发者免费开放;(4)Demo中放入了测试用ak,开发者若使用自己的数据,请更换为自己的ak;(5)LBS.云检索使用方法请参考开发指南“LBS云服务”部分;(6)详细了解LBS.云,欢迎访问:http://developer.baidu.com/map/lbs-cloud.htm(7)申请ak及管理数据等问题,欢迎访问LBS开放平台官网:http://lbsyun.baidu.com/-------------------------------------------------------------------------------------二十二、Demo名称:OpenGL绘制功能文件名:  OpenGLDemo.java简介:介绍如何使用OpenGL在地图上实现自定义绘制详述:(1)利用OpenGL绘制基本折线;(2)利用OpenGL在地图上进行纹理绘制;-------------------------------------------------------------------------------------二十三、Demo名称:点聚合功能--MakerClusterDemo文件名:  MarkerClusterDemo.java简介:新增点聚合功能,可通过缩小地图层级,将定义范围内的多个标注点,聚合显示成一个标注点详述:(1)支持缩放地图,实现点聚合功能-------------------------------------------------------------------------------------二十四、Demo名称:瓦片图功能--TileOverlayDemo文件名:TileOverlayDemo.java简介:瓦片图层支持开发者添加自有瓦片数据,包括在线下载和本地加载两种方式。详述:(1)在线下载方式(2)本地加载方式(3)将地图类型设置为NONE,不下载地图底图瓦片(4)控制了地图显示范围,仅显示设置范围内的地图-------------------------------------------------------------------------------------二十五、Demo名称:地图由TextureView渲染文件名:TextureMapViewDemo.java使用前提:Android 4.0以上系统,并开启强制GPU渲染简介:新增了TextureMapView类,实现地图由TextureView渲染。解决原MapView基于系统GLSurfaceView导致在TabHost和scrollView中等闪黑屏、白边、压盖等问题。-------------------------------------------------------------------------------------二十六、Demo名称: 室内图--IndoorMapDemo文件名称: IndoorMapDemo.java简介:介绍如何进行室内图展示及室内路线规划详述:    (1)室内图展示,包含打开、关闭室内图方法    (2)室内路线规划(只支持起终点在同一建筑物内),绘制室内规划路线----------------------------------------------------------------------------------二十七、Demo名称: 室内图检索文件名称: IndoorSearchDemo.java简介:介绍在室内图中进行室内poi检索----------------------------------------------------------------------------------二十八、Demo名称: 小车轨迹平滑移动文件名称: TrackShowDemo.java简介:介绍小车轨迹平滑移动的实现----------------------------------------------------------------------------------
    2019-03-12下载
    积分:1
  • 安卓利用openfire搭建即时通讯
    利用openfire服务器搭建的即时通讯系统,本程序经过过测试能够运行,并且实现了登录和聊天功能,使用本软件前提是首选安装openfire服务及数据库,然后用户名及密码,本软件是利用Java在安卓上实现的,登录前需要设置ip地址,登录的ip地址和你的openfire服务器地址一致后方才能登录,本程序实现了建立聊天室,但是没有实现群聊功能。
    2023-01-14 14:35:06下载
    积分:1
  • 书城
    自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店 自己的图书商店
    2022-02-01 23:36:03下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载