现在位置: 首页 > 编程语言 > 文章
2020年02月18日 编程语言 ⁄ 共 1891字 评论关闭

Android实现根据评分添加星级条 简述 在仿写豆瓣的时候,发现了根据评分不同,星级数也不同的星级条. 百度一搜,发现Android有自带控件UIRatingBar,而iOS得要自己写-好吧,那就写吧. 图片素材 首先,要准备三张图片,图片如下: 空星,半星,全星 因为我们可以看到,在豆瓣的评分星级条里,只有空.半.全星,所以只需要准备这3种图片. 思路 豆瓣的星级条中既有图片,又有文字,所以我们自定义一个继承于UIView的starView. 初始化方法 因为星级条要根据评分的数据来决定星的颗数,所以我们要重新创建一个初始化方法

阅读全文
2020年02月18日 编程语言 ⁄ 共 2136字 评论关闭

iOS ScrollView嵌套tableView联动滚动的思路与最佳实践 前言 随着业务的发展,页面的复杂度越来越高,嵌套滚动视图的方式也越来越受设计师们的青睐,在各大电商App十分常见.如下Demo图: 但是这样的交互官方并不推荐,而且对开发来说确是不那么友好,需要处理滚动手势的冲突,页面的多层级嵌套都给开发带来了一定程度的麻烦.接下里我聊聊我们的实现思路. 思路和过程 对应这种页面结构应该毫无疑问是最底层是一个纵向滚动的scrollView,它的页面上面放一个固定高度的header,紧接着下面一个支持横向滚动切换的容器scrollView,容器上面才是各个页面具体

阅读全文
2020年02月18日 编程语言 ⁄ 共 3539字 评论关闭

iOS实现模拟定位功能的示例代码 前言 App中越来越多的功能依赖用户实际的位置,例如基于用户位置提供推荐数据.基于定位判断某些功能是否可用,但是在开发调试中XCode却没有提供自定义的模拟定位的功能,所以本文主要的目的是现实一个可以在开发调试过程中随时模拟定位的功能. 思路 我们在iOS的app开发中通常采用的是CLLocationManager来获取用户当前的位置,当然也可以采用MKMapView的showUserLocation来获取用户的位置,所以我们分别针对这两种情况分析. CLLocationManager 采用CL

阅读全文
2020年02月18日 编程语言 ⁄ 共 2797字 评论关闭

详解iOS 轻松获取当前控制器的正确方式 背景 在开发过程中,经常需要获取当前 window, rootViewController, 以及当前正在显示的 visibleController 的需求. 如果 .m 实现不是在当前视图情况下, 我们需要快速的获取到当前控制器, 这种情况就需要先做好一层封装,我一般是通过 UIViewController 写的一个 Category 来实现, 实现起来也非常简单, 只需要我们对 控制器几个方法掌握便可. 获取根控制器 + (UIViewController *)jsd_getRootView

阅读全文
2020年02月18日 编程语言 ⁄ 共 1557字 评论关闭

Android 7.0 手电筒控制实现 在AndroidN(7.0)前你对手电筒的控制也许是这样的: Camera camera = Camera.open(); if(open){ Parameters mParameters = camera.getParameters(); mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); camera.setParameters(mParameters); } else { Parameters mParameters

阅读全文
2020年02月18日 编程语言 ⁄ 共 1670字 评论关闭

Android 使用URLConnection下载音频文件的方法 使用MediaPlayer播放在线音频,请参考Android MediaPlayer 播放音频 有时候我们会需要下载音频文件.这里提供一种思路,将在线音频文件通过流写到本地文件中. 使用URLConnection来建立连接,获取到的数据写到文件中. URLConnection建立连接后,可以获取到数据长度.由此我们可以计算出下载进度. public class DownloadStreamThread extends Thread { String urlStr; final String ta

阅读全文
2020年02月18日 编程语言 ⁄ 共 1968字 评论关闭

Android MediaPlayer 音频倍速播放 调整播放速度问题 现在市面上的很多音视频App都有倍速播放的功能,例如把播放速度调整为0.5.1.5.2倍等等. 从Android API 23 (Android M)开始,MediaPlayer支持调整播放速度. 使用的方法是setPlaybackParams,传入一个代表播放属性的类PlaybackParams. 本文介绍如何使用MediaPlayer调整播放速度. MediaPlayer.setPlaybackParams 说明 播放速度设置在PlaybackParams对象中,再将此对象传入setPlay

阅读全文
2020年02月18日 编程语言 ⁄ 共 2879字 评论关闭

Android 获取 usb 权限的两种方法 前言: 最近工作上遇到几个USB模块在android平台上适配使用的情况,所以要用到USB权限获取问题 ##USB权限获取有以下2种方式: 一.直接在AndroidManifest.xml文件中进行如下配置: <activity android:name=".DemoCustomAndroidUSBActivity" android:label="@string/app_name"> <intent-filter> <acti

阅读全文
2020年02月18日 编程语言 ⁄ 共 2220字 评论关闭

Android实现沉浸式状态栏功能 Android中实现沉浸式状态栏的功能,供大家参考,具体内容如下 1. 先上效果图,实现沉浸式状态栏有两种方式,一种是通过写Theme主题的方式,另一种是写代码的方式.若要使多个页面出现沉浸式状态栏,则使用主题的方式更方便,如果只要使单个页面出现,则使用代码方式更好!当然了,看个人喜好而去. 2. 先来介绍写主题的方式 2.1 先在res包下新建values-v19和values-v21两个包,为了兼容Android高低版本 2.2 然后分别在包中新建styles.xml文件 2.2.1 val

阅读全文
2020年02月18日 编程语言 ⁄ 共 2523字 评论关闭

Android实现倾斜角标样式 前言 最近产品有一个需求是:要在一个距形卡片上做一个倾斜的Tag,类似: (PS:不要注意那两毛三分的穷鬼),刚开始想着用UI切图就可以了嘛,but是不可以的,在不同手机上分辨率是不同的,直接用图片适配肯定会有问题,所以打算自定义. 实现思路 额画图太丑了,这里解释一下:这里以左上角为例,我们可以把手机屏幕看成是一个直角坐标轴,我们要画一个斜角标示,只需要在我们的距形框内画一个正方形通过正方形的对角线(这里必须是正方形,这样可以控制x,y等距离),这样操控斜角标示长度只需要控制对角线长度通过pa

阅读全文