- 博客(121)
- 收藏
- 关注
转载 Android 自定义控件——图片剪裁
本文介绍一个自定义的图片剪裁控件该控件由另一篇博文:Android 图片拖拽、放大缩小的自定义控件扩展而来如图: 思路:在一个自定义View上绘制一张图片(参照前面提到的另一篇博文),在该自定义View上绘制一个自定义的FloatDrawable,也就是图中的浮层。绘制图片和FloatDrawable的交集的补集部分灰色阴影(这个其实很简单,就一句话)。在自定义View的touch中去处理具体的拖动事件和FloatDrawable的变换。图片的绘制和FloatDrawabl...
2020-06-03 12:04:40
658
转载 android自定义可缩放,移动图像裁剪框
在实际项目中,经常要制作一个简易的图像裁剪功能,即获取一张图片,并用一个遮罩层选择目标范围并截取保存的功能,如下图所示:在此分享下该自定义视图的制作过程。需求说明整一个视图包含一个透明的遮罩层,一个透明带白色边框的矩形。要实现的功能是:点击矩形框外围:无任何响应 点击矩形框内部:可随手指移动而移动 点击矩形框的4个顶点:可进行对角顶点坐标不变的情况下的矩形的缩放,同时边框变色下面是实现该功能的完整源码/** * Created by Farble on 2...
2020-06-03 11:49:51
1656
2
原创 Android实现双屏异显
主要类:Presentation、DisplayManager、Display1.如何获取设备上的屏幕? DisplayManager mDisplayManager;//屏幕管理类 Display[] displays;//屏幕数组 mDisplayManager = (DisplayManager)context.getSystemService(Con...
2019-12-02 09:57:25
938
转载 Android GPS定位
这可能是使用最便捷的权限请求框架Github传送地址,欢迎Star另外想对Android 6.0权限需要深入了解的,可以看这篇文章Android 6.0运行权限解析(高级篇)集成步骤dependencies { implementation 'com.hjq:xxpermissions:5.2'}一句代码搞定权限请求,从未如此简单点此查看完整的示例代码...
2019-10-25 15:52:35
210
转载 Android开发中获取系统时间的几种种方式
Calendar获取系统时间首先要用Calendar.getInstance()函数获取一个实例,再为该实例设定时区(中国的时区为GMT+8:00),最后使用Calendar.get()函数获取时间的具体信息,如年,月,日,小时,分,秒,星期几。缺点是获得的这些时间信息都是独立的,如果要一起显示的话,还要组装起来凑成一个字符串,稍显麻烦。不过如果只需要单个时间信息,如星期几,这种方法是比较方便的。并且可以根据Calendar.AMPM属性判断当前是AM还是PM(0为AM,1为PM),然后根据需要显示12小时
2019-10-22 11:29:38
2637
原创 安卓 android:setInputType()属性全面收藏!
1.输入类型为没有指定明确的类型的特殊内容类型 editText.setInputType(InputType.TYPE_NULL);2.输入类型为普通文本 editText.setInputType(InputType.TYPE_CLASS_TEXT);3.输入类型为数字文本 editText.setInputType(InputType.TYPE_CLASS_NUMBER)...
2019-10-10 14:31:59
4768
原创 android:inputType属性和setInputType()方法参数对应整理
以密码类型(password)为例android:inputType属性:<EditText android:inputType="textPassword" android:layout_width="match_parent" android:layout_height="wrap_content" />setInp...
2019-10-10 14:28:52
750
转载 WebSocket 安卓客户端实现及代码封装
转载自:https://blog.csdn.net/u013872857/article/details/80947944
2019-09-19 08:52:33
210
转载 使用config.gradle统一管理项目的依赖库
转载原文地址:https://www.jianshu.com/p/a4b211df5bdf配置新建config.gradle (和项目的build.gradle同级).config.gradle文件的位置内容为:ext { android = [compileSdkVersion: 23, buildToolsVersion: "23...
2019-05-17 09:53:31
248
转载 Android使用串口(基于android-serialport-api)
转载,原文出处:http://blog.csdn.net/itdo_just https://blog.csdn.net/itdo_just/article/details/80514116运行平台:CPU:全志V40Android版本:6.0.1关于安卓设备上使用串口,谷歌官方在github上有提供代码实例,里面有JNI的代码和串口API的java文件,工程的地址如下:htt...
2019-05-15 16:29:38
3422
转载 解决"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"错误
转载自:https://blog.csdn.net/vocanicy/article/details/83004626今天安装了Android Studio 3.2,打开一个旧工程,编译提示:"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"网上也...
2019-05-14 15:12:01
143
转载 2018年Android面试题含答案--适合中高级
1、java中==和equals和hashCode的区别基本数据类型的==比较的值相等.类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重写了equals方法.hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等比...
2019-03-25 11:54:17
932
转载 EventBus使用详解
前言EventBus是一种用于Android的发布/订阅事件总线。它有很多优点:简化应用组件间的通信;解耦事件的发送者和接收者;避免复杂和容易出错的依赖和生命周期的问题;很快,专门为高性能优化过等等。基础知识EventBus使用了发布者/订阅者模式。发布者通过EventBus发布事件,订阅者通过EventBus订阅事件。当发布者发布事件时,订阅该事件的订阅者的事件处理方法将被调用。使用详解本文将按...
2018-06-04 17:57:45
212
转载 Android 四大大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比
转载自:http://blog.csdn.net/qq_25690935/article/details/50548457四大图片缓存基本信息Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用。 Picasso 是 Square 开源的项目,且他的主导者是 JakeWharton,所以广为人知。
2017-11-29 11:29:55
294
转载 Android Butterknife 8.4.0 使用方法总结
本文出自【赵彦军的博客】前言ButterKnife 简介ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。项目github地址:https://github.com/JakeWharton/butterknife
2017-11-29 11:28:45
214
原创 圆形图片
public class RoundImageView extends ImageView { public RoundImageView(Context context) { super(context); // TODO Auto-generated constructor stub } public RoundImageView(Context context, Attri
2017-10-28 13:46:21
431
转载 android获取缓存大小并清理缓存
本文主要注重介绍实战操作,理论知识可能介绍的不多,勿喷简单说两句缓存的好处:采用缓存,可以进一步大大缓解数据交互的压力,又能提供一定的离线浏览。下边我简略列举一下缓存管理的适用环境:1. 提供网络服务的应用2. 数据更新不需要实时更新,哪怕是3-5分钟的延迟也是可以采用缓存机制。3. 缓存的过期时间是可以接受的(类似网易的新闻阅读,支持离线离线阅读)
2017-10-28 13:44:37
2877
转载 RecyclerView嵌套在NestedScrollView中的注意事项
1.为了更好的适应NestedScrollView的特性,应该把布局文件的根布局设为CoordinatorLayout;2.给NestedScrollView设置behavior,即 app:layout_behavior="@string/appbar_scrolling_view_behavior"3.RecyclerView的高度设为match parent或者wrap co
2017-08-15 15:11:24
489
原创 设置tablayout下划线的宽度
package com.kjt.app.activity.myaccount.MyNewStoreTemplate;import android.content.res.Resources;import android.support.design.widget.TabLayout;import android.util.TypedValue;import android.view.Vi
2017-07-27 17:00:28
498
翻译 真正的画廊,左右条目可点击居中, 左右条目可滑动
利用Viewpager实现真正的Gallery, 左右条目可点击居中, 左右条目可滑动,也就是可以获得焦点前言: 最近公司做一个想Gallery一样的效果,于是想在网上找个现成的,但是怎么找也没找到,就是找到一个鸿洋大神的巧用ViewPager 打造不一样的广告轮播切换效果的,但是左右条目不可点击,又不可以滑动,所以就做了个这个控件,本控件也是利用ViewPgaer做出来的首先看一
2017-07-13 18:40:20
350
转载 【Android - 控件】之MD - FloatingActionButton的使用
FloatingActionButton(FAB) 是 Android 5.0 新特性——Material Design 中的一个控件,是一种悬浮的按钮。FloatingActionButton 是 ImageView 的子类,因此它具备ImageView的全部属性。FloatingActionButton 结合 CoordinatorLayout 使用,即可实现悬浮在任意控件的任
2017-06-14 15:19:46
447
转载 Material Design之FloatingActionButton的使用
FloatingActionButton是继承至ImageView,所以FloatingActionButton拥有ImageView的所有属性。CoordinatorLayout可以用来配合FloatingActionButton浮动按钮,设置app:layout_anchor和app:layout_anchorGravity构建出特定的位置与效果的FloatingActionButton。
2017-06-14 15:19:10
439
转载 Android FloatingActionButton 重要的操作不要太多,一个就好
这篇文章和大家一起聊聊Android Design包中的FloatingActionButton控件(简称:FAB)。至此,Android Material Design系列的学习已进行到第三篇,大家可以点击以下链接查看之前的文章:Android 一文告诉你到底是用Dialog,Snackbar,还是ToastAndroid TabLayout 分分钟打造一个滑动标签页Fl
2017-06-14 15:17:25
354
转载 如何让EditText具有自动大小写转换的功能。
相信很多朋友都有过让EditText具备自动大小写转换的功能的需求,其实做法很简单。下面就来看一下怎么做吧。首先定义一个类继承ReplacementTransformationMethod类并重写两个方法。这个类位于android.text.method包中。public class AutoCaseTransformationMethod extends ReplacementTra
2017-06-14 15:14:05
342
转载 RecyclerView实用-打造自动循环的RecyclView
先看效果图主要处理的地方:RecyclerView中Adapter的item可以无限轮询.RecyclerView自动滑动手指按下时滑动停止,手指抬起后继续自动滑动public class AutoPollRecyclerView extends RecyclerView { private static final long TIME_AUTO_POLL = 16;
2017-06-06 17:43:02
1350
转载 Android RecyclerView滚动定位
转载请标明出处: http://blog.csdn.net/tyzlmjj/article/details/49227601 本文出自:【M家杰的博客】概述 RecyclerView在安卓开发中非常实用,而且简单易用,但是在实际开发中一直有一个问题困扰着我,就是定位问题,实际的项目中总是会遇到这样的需求:检索RecyclerView的某一项(各个项的高度不确定),然后定位这
2017-06-06 17:38:48
551
转载 MVP模式简单讲解,通俗易懂
什么是MVP:MVP是 MVC 的变种,其实是一种升级。要说 MVP 就要说说 MVC,在 MVC 中 Activity 其实是 View层级,但是通常在使用中 Activity即是View也是Controller,并没有将 View层 和 Controller层 进行分离, 耦合度大大提高,非常不利于项目的管理。这时候 MVP 就应运而生了。
2017-05-24 15:16:59
3840
转载 三步实现Android任意控件悬浮效果
Tag:项目介绍:之前做项目的时候实现的一个悬浮效果,如图(可能不够清晰)接下来就是实现效果,如图所示demo直接用的截图原理很简单,用RecyclerView addHeaderView的方式实现,实现步骤:1.添加依赖`compile 'com.github.CymChad:BaseRecyclerViewAdap
2017-05-24 14:45:33
8371
转载 Retrofit2.0使用详解
综述 retrofit是由square公司开发的。square在github上发布了很多优秀的Android开源项目。例如:otto(事件总线),leakcanary(排查内存泄露),android-times-square(日历控件),dagger(依赖注入),picasso(异步加载图片),okhttp(网络请求),retrofit(网络请求)等等。更多square上的开源项目我们可
2017-05-23 10:22:59
1016
转载 Retrofit 2.X使用详解之基本使用
概述 Retrofit是由Square公司出品的针对于Android和Java的类型安全的Http客户端,网络服务基于OkHttp 。gradle配置配置Retrofit 2.X Retrofit 2.X -compile 'com.squareup.retrofit2:retrofit:2.1.0' OkHttp3 - compile
2017-05-22 16:35:28
538
转载 从零开始的RxJava2.0教程(四)在安卓中的应用
1. 前言在第1 2 3篇中,我介绍了RxJava 2.0的基本用法。这一篇将介绍在安卓中的基本用法。 附上本系列教程的链接。 从零开始的RxJava2.0教程(一)基础 从零开始的RxJava2.0教程(二)操作符 从零开始的RxJava2.0教程(三)响应式的好处 从零开始的RxJava2.0教程(四)在安卓中的应用2. RxAndroidR
2017-05-22 16:33:44
519
转载 Android学习之 WebView使用小结
这段时间基于项目需要 在开发中与WebView的接触比较多,前段时间关于HTML5规范尘埃落定的消息出现在各大IT社区头版上,更有人说:HTML5将颠覆原生App开发 虽然我不太认同这一点 但是关于HTML5+JS+CSS+Native的跨平台开发模式还是为很多企业节省了开发资源和成本、一定程度上提升了WebView的使用率和地位。网上关于HTML5规范定稿的一篇见解文章:
2017-05-10 17:39:58
322
转载 Android 操作SQLite基本用法
在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,
2017-05-04 17:03:31
238
转载 Android之QQ授权登录获取用户信息
有时候我们开发的app需要方便用户简单登录,可以让用户使用自己的qq、微信、微博登录到我们自己开发的app。今天就在这里总结一下如何在自己的app中集成QQ授权登录获取用户信息的功能。首先我们打开腾讯开发平台这个网页,点击---->移动应用---->创建应用,成功创建应用后,可以产生我们需要的App ID和App Key,如下图所示:然后
2017-05-03 14:24:49
2274
转载 android webview里设置cookie
我们在android中访问网络经常会用到Apache的HttpClient,用此类去访问网络获取数据, 但是在写android界面的时候又时不时的会用到一些WebView组件,这时候访问一个以经登录的页面的时候cookie设置就有个问题 在HttpClient中保存下来的Cookie怎么设置到WebView组件里,让WebView也保持住Cookie状态,也就是登录状态呢?
2017-05-03 14:02:58
579
转载 Android系统下载管理DownloadManager
一. DownloadManager简单介绍DownloadManger是android 2.3(api level 9)开始 提供的用于优化处理长时间的下载操作。DownloadManager 处理Http/Https连接并监控连接中的状态变化及系统重启来确保每一个下载任务顺利完成。大多数涉及到下载的情况中使用DownloadManager都是很好的选择,尤其是后台继续下载,下载状态回调,断
2017-01-03 14:42:37
1740
转载 Android DownloadManager 的使用
从Android 2.3(API level 9)开始Android用系统服务(Service)的方式提供了Download Manager来优化处理长时间的下载操作。Download Manager处理HTTP连接并监控连接中的状态变化以及系统重启来确保每一个下载任务顺利完成。在大多数涉及到下载的情况中使用Download Manager都是不错的选择,特别是当用户切
2017-01-03 14:41:33
239
转载 Android中的树状(tree)列表
转载地址:http://www.cnblogs.com/xiaofeixiang/p/4109969.html树状列表前端挺常用的,还有人专门写过Ztree,Android中有的时候也需要使用到树状列表,上篇文章写了一下ExpandableListView,ExpandableListView最多支持两级结构,Android中没有三层结构的组件,这个时候需要自己去扩展,可以扩展Expa
2016-12-22 15:49:55
5836
1
转载 AndroidTreeView——无限层级的Android树视图
一款实现树视图的Android类库,实现树叶子无限层级展开/折叠,可以定义节点的值、视图、样式,还可以在屏幕旋转后保持状态不变。 用法: 1、创建树根节点TreeNode root = TreeNode.root();2、创建和添加加点(使用自定义对象作为构造函数参数) TreeNode parent = new TreeNode("MyPa
2016-12-21 11:10:41
14153
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人