![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
移动
老虎从不发威-新歌
只要持之以恒,你就会成功
展开
-
android自定义view 旋转 缩放 位移事件处理
说起自定义view一直都很惭愧,一直没有翻开这一张今天简单的写个栗子。 android自定义view @SuppressLint("AppCompatCustomView")public class MyImageView extends ImageView { /** 按下坐标x */ float x_down = 0; /** 按下坐标y */ float y原创 2020-07-28 16:31:31 · 862 阅读 · 0 评论 -
Flutter 浅析之 Text Widget
技术无止境,只怕不学习啊,Flutter 我们开始吧Flutter 之路从文本开始 TextText文本的剧中class MyApp extends StatelessWidget{ @override Widget build(BuildContext context) { // TODO: implement build return MaterialApp( title: "Text WidGet", // 标题 home: Scaffold(原创 2020-07-17 19:34:46 · 253 阅读 · 0 评论 -
android studio集成flutter (windows)
配置镜像由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,大家可以将如下环境变量加入到用户环境变量中:export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn在用户变量中添加获取Flutter SDK1.去flutter官网下载其最新可用的安装包 点击下载下载最新版下载后解压配置fl原创 2020-07-12 13:29:41 · 618 阅读 · 0 评论 -
TabLayout + ViewPager,点击tab,导致闪屏问题
最近在做新闻项目,一直困惑TabLayout + ViewPager,点击tab,导致闪屏问题的问题,研究了几款新闻类型的项目,发现可以点击直接显示ViewPager 对应的页面。上代码: tlTabLayout.setOnTabSelectedListener(new XTabLayout.OnTabSelectedListener() { @Override原创 2017-05-17 10:11:27 · 3191 阅读 · 0 评论 -
Android Volley 带你从源码的角度理解Volley
Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚。因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍。同时,这也是Volley系列的最后一篇文章了。其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示。多数朋友突然看到一张这样的图,应该会和我一样,原创 2017-04-04 13:28:51 · 301 阅读 · 0 评论 -
我所理解的RxJava(一)
前言相信各位看官对RxJava早有耳闻,那么关于什么是RxJava我就不再赘述了,不知道的可自行百度。如果你已经大致了解过什么是RxJava,想开始学习,那么本文不失为你良好的选择,为什么这么说呢,因为我也是刚学几天,正所谓“知己知彼,百战不殆”。网上流传,RxJava的入门门槛高,而经过我这几天的学习,我反而不那么认为,精通我不敢说,但入门确实也不难。论概念的重要性原创 2017-04-04 14:26:53 · 228 阅读 · 0 评论 -
我所理解的RxJava(二)
前言欢迎继续收看《我所理解的RxJava(二)》关于Subject关于Subject,官方文档的解释是这样的:Subject可以看成是一个桥梁或者代理,在某些ReactiveX实现中(如RxJava),它同时充当了Observer和Observable的角色。因为它是一个Observer,它可以订阅一个或多个Observable;又因为它是一个Observa原创 2017-04-04 20:23:20 · 271 阅读 · 0 评论 -
我所理解的RxJava(三)
前言讲一讲一些比较常用的操作符吧。然后这篇讲RxJava中强大的Scheduler调度器 ,就是因为它,RxJava才能极其简便的在线程中切换,接着再讲一讲一些常用的操作符,比较简单容易理解的操作符都在本篇罗列出来,以后可能不定时更新这篇文章,复杂的操作符后续分篇讲。Scheduler在讲常用操作符前,先看看Scheduler这个东西,名之为调度原创 2017-04-04 20:47:51 · 298 阅读 · 0 评论 -
几种常见Dialog,懒人必收
前言项目中经常使用到的几种Dialog,所以干脆封装起来了,方便以后使用,顺便分享给大家,话不多说,直接看效果。样式一 使用如下代码:NormalSelectionDialog dialog1 = new NormalSelectionDialog.Builder(this) .setlTitleVisible(true) //设置是否显示标题原创 2017-04-04 21:50:25 · 2683 阅读 · 0 评论 -
Android Volley 定制自己的Request
经过前面文章的学习,我们已经掌握了Volley各种Request的使用方法,包括StringRequest、JsonRequest、ImageRequest等。其中StringRequest用于请求一条普通的文本数据,JsonRequest(JsonObjectRequest、JsonArrayRequest)用于请求一条JSON格式的数据,ImageRequest则是用于请求网络上的一张图片。原创 2017-04-04 12:56:54 · 228 阅读 · 0 评论 -
Android Volley网络框架之一
1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConne原创 2017-04-04 09:58:22 · 239 阅读 · 0 评论 -
ButterKnife Zelezny插件安装成功但是功能不能使用的解决办法
ButterKnife框架Android ButterKnife Zelezny插件安装成功但不显示Generate ButterKnife Injections选项的问题ButterKnife属于更新比较频繁的框架,注解型框架,从6.1.0到8.0.1版本,作者把inject()方法改成了bind()方法,@Bind(R.id.button)改成了@BindView(R.id原创 2017-04-03 12:53:29 · 5394 阅读 · 3 评论 -
Android — jimu Mirror
摘要: 用过 Sketch 的朋友应该都知道一个叫 Mirror 的功能,它可以将你的设计稿放到手机上预览,为设计师们提高了不少效率。而今天我要介绍的 jimu Mirror ,和 Sketch Mirror 类似,可以将 Android 的 xml 实时放到手机上预览。但是现代化的 IDE 都已经提供在 IDE 内实时预览 xml 的功能,jimu Mirror 有啥用呢? 有用!还是相当有原创 2017-04-03 15:12:36 · 2036 阅读 · 0 评论 -
Android Studio常用插件
Android Studio常用插件不得不承认,Android Studio越用越爽。其代码提示和搜索功能相当强大,非常智能。颜色、图片在布局和代码中可以实时预览。 开发的过程中使用一些插件可以事半功倍,下面介绍一些博主开发过程中常用到的一些as插件供大家参考。ButterKnife官网:http://jakewharton.github.io/butt原创 2017-04-03 17:01:28 · 452 阅读 · 0 评论 -
Android IPC 进程进程间通信或跨进程通信
Android IPC 机制 老话长谈,趁现在有时间对IPC做一个具体的总结。 IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。那么什么是进程,什么是线程,进程和线程是两个截然不同的概念。在操作系统中,线程是CPU调度的最小单元,同时线程是一种有限的系统资源。而进程指的一个执行单元,在PC原创 2017-03-29 20:22:00 · 443 阅读 · 0 评论 -
Android程序员的一些面试建议
前言今天写一篇关于Android面试相关的博客,需要说明的是本文只针对Android应用开发,不针对rom开发以及逆向工程。我想面试对于程序员来说是很重要的一件事件,面试结果的好坏直接决定了能否进入某个公司以及以什么级别和待遇进入某个公司。我参加面试的经验并不多,但是以面试官的身份面试别人倒是有很多次,所以我可以结合这些经验来介绍下如何更好地把握一个面试。什么是合适的候选者在介绍如何面试之前,这里先原创 2017-03-28 17:43:20 · 402 阅读 · 0 评论 -
Android代码中来记忆23种设计模式
大家都曾经下定决心把23种设计模式牢记于心,每次看完之后过一段时间又忘记了~,又得回去看,脑子里唯一依稀记得的是少数设计模式的大致的定义。其实,网上很多文章讲得都非常好,我也曾经去看过各种文章。也曾一直苦恼这些难以永久记下的设计模式,直到我接触到了《Android源码设计模式解析与实战》——何红辉与关爱明著,发现原来其实我们在Android中都接触过这些设计模式,只是我们不知道而已。既然我们都接触过原创 2016-12-08 16:33:11 · 768 阅读 · 0 评论 -
Android使用的设计模式1——观察者模式
观察者模式**我们在面试过程中经常被问到,其实在项目开发过程中我们都会用到的,只是你没有注意到,今天我们就来分析一下: 观察者模式对于做系统或者做公共库的朋友来说,应该很熟悉,基本上所有系统都会用到这个模式。整理的时候,主要是对模式进行进步讲解然后结合Android里面应用进行说明。设计模式的说明主要是参考(设计模式解析与实战)如果对设计模式不了解的朋友,可以看看《设计模式解析与实战》这本书。**原创 2016-12-07 18:53:55 · 470 阅读 · 1 评论 -
Android Volley 使用Volley加载网络图片
在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读。在上篇文章中有提到过,Volley是将AsyncHttpClient和Universal-Image-Loader的优点集成于一身的一个框架。我们都知道,Universal-Image-Loader具备非常强大的加载网络图片原创 2017-04-04 12:30:42 · 435 阅读 · 0 评论 -
AppBarLayout,更酷炫的顶部栏
今天我们再讲解几个View:AppBarLayout、CollapsingToolbarLayout以及Toolbar。一下子出现3个陌生的View,是不是觉得很慌张~,很多人都写了这几个布局的使用,但是他们却没有有针对性的单独讲解每个View的作用以及如何使用,我看的很多文章都是一上来就把AppBarLayout、CollapsingToolbarLayout以及Toolbar写到一个布局里面去,原创 2017-04-05 23:16:32 · 442 阅读 · 0 评论 -
Android 开发之自定义控件开发-05之蜘蛛网格的绘制
这里绘制的是8个角的蜘蛛网图:首先我们想初始化一些数据:/** * 初始化画笔 */ private void init(){ /** 绘制网格 */ radarPaint = new Paint(); /** 设置为描边 */ radarPaint.setStyle(Paint.Style.STRO...原创 2019-01-03 12:06:25 · 400 阅读 · 0 评论 -
Android 开发之自定义控件开发-04之Math.sin() 与 Math.cos() 用法
Math.sin(x) x 的正玄值。返回值在 -1.0 到 1.0 之间;Math.cos(x) x 的余弦值。返回的是 -1.0 到 1.0 之间的数;这两个函数中的X 都是指的“弧度”而非“角度”,弧度的计算公式为: 2PI/360角度;30° 角度 的弧度 = 2PI/36030如何得到圆上每个点的坐标?解决思路:根据三角形的正玄、余弦来得值;假设一个圆的圆心坐...原创 2019-01-02 18:26:45 · 1539 阅读 · 0 评论 -
Android 开发之自定义控件开发-03之Region
Region 翻译为“区域”,区域是一块任意形状的封闭图形Region 构造:1.直接构造public Region(Region region) // 复制一个Region 的范围public Region(Rect r) //创建一个矩形区域public Region(int left,int top,int right,int bottom) //创建一个矩形...原创 2018-12-29 17:35:02 · 580 阅读 · 0 评论 -
Android 开发之自定义控件开发-02
1.画笔的基本设置 :1.setColor()该函数的作用是设置画笔颜色,完整的函数声明如下:void setColor(int color)我们知道,一种颜色是由红、绿、蓝三色合成出来的,所以参数 color 只能取8位的0xAARRGGBB样式颜色值。其中:A 代表透明度(Alpha),取值范围是0~255(对应十六进制数0x00 ~ 0FF),取值越小,透明度越高,图像也就越...原创 2018-12-29 11:59:59 · 178 阅读 · 0 评论 -
Android 仿今日头条、网易新闻的频道管理
最近做新闻类型的项目,用到了频道管理,点击删除排序,拖动排序。来分享一下下面上代码:MainActivity 布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.an原创 2017-09-18 14:13:20 · 7908 阅读 · 10 评论 -
Android 内存泄漏 LeakCanary 来检查
什么是内存泄漏? 有些对象只有有限的生命周期。当它们的任务完成之后,它们将被垃圾回收。如果在对象的生命周期本该结束的时候,这个对象还被一系列的引用,这就会导致内存泄漏。随着泄漏的累积,app将消耗完内存。内存泄漏造成什么影响? 它是造成应用程序OOM的主要原因之一。由于android系统为每个应用程序分配的内存有限,当一个应用中产生的内存泄漏比较多时,就难免会导致应用所需要转载 2017-11-03 15:44:09 · 315 阅读 · 0 评论 -
Android判断设备是手机还是平板
方法一(官方的例子):/** * 判断是否平板设备 * @param context * @return true:平板,false:手机 */private boolean isTabletDevice(Context context) { return (context.getResources().getConfiguration().screenLayout & Confi原创 2017-06-28 15:37:54 · 6109 阅读 · 0 评论 -
友盟社会化分享 QQ空间不显示分享的图片 (已解决)
最近做项目用到了友盟的社会化分享,期间遇到了一个问题,分享到QQ空间的图片不显示,其他的分享都正常。也许是直接分享出去的图片URL被屏蔽了,所以我做了如下操作: `/** * 根据图片的url路径获得Bitmap对象 * @param url * @return */ private Bitmap returnBitmap(String u原创 2017-06-08 09:24:45 · 5383 阅读 · 0 评论 -
Android TextView 设置部分文字背景色和文字颜色
通过SpannableStringBuilder来实现,它就像html里边的元素改变指定文字的文字颜色或背景色public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanc原创 2017-04-27 09:34:32 · 3034 阅读 · 0 评论 -
JAVA String 如何去掉指定字符
借助 jdk java.lang.String.replace(CharSequence, CharSequence) 方法原创 2017-04-26 22:13:43 · 113597 阅读 · 5 评论 -
Viewpager滑动不流畅问题
最近在做新闻项目,用到ViewPager嵌套了多个fragment,显示很多数据,有滑动卡顿,这里解决一下:public class BaseViewPager extends ViewPager { private int preX=0; public BaseViewPager(Context context, AttributeSet attrs) { supe转载 2017-05-17 10:44:24 · 4361 阅读 · 0 评论 -
选项卡 新闻导航
最近在开发新闻项目,所以找了很多相关的框架来用在这里把最好的推荐给大家 Android——可修改字体大小和指示器长度的XTabLayout -原文地址点击查看 XTabLayout是基于design包中的TabLayout进行了功能的扩展,在保留原有功能的基础上,增加了修改选中项字体大小、修改指示器长度以及限制屏幕显示范围内显示的Tab个数。先看效果图: 集成步骤: 1.添加XTab转载 2017-05-17 10:26:11 · 426 阅读 · 0 评论 -
AndroidStudio自定义属性xmlns无法识别问题解决in Gradle projects,always use http://schemas.android.com/apk/res-aut
正如in Gradle projects,always usehttp://schemas.Android.com/apk/res-auto for custom attributes所说的http://schemas.android.com/apk/res/com.xxx.xxx 换成http://schemas.android.com/apk/res-auto转载 2017-04-06 21:22:51 · 847 阅读 · 0 评论 -
Android 混淆代码总结
最近忙于项目的上线,所以把混淆再来复习一下为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过来 2. 最重要的就是在proguard-project.txt添加混淆的申明了: a. 把所有你的jar包都申明进原创 2016-12-07 17:12:39 · 242 阅读 · 0 评论 -
android程序如何调用支付宝接口
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多。 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单。而且支付宝提供的接口一直在更新,可能支付宝那边是为了让接口更容易被调用吧,以前有些老的教程稍微跟现在接口有些不能“对号入座”,于是,我决定抽空写一篇关于调用支付宝接口的文章,跟大家分享,让大家以最快的速度掌转载 2016-12-05 23:22:51 · 703 阅读 · 0 评论 -
android图片压缩的3种方法实例
这篇文章介绍了android图片压缩的3种方法实例,有需要的朋友可以参考一下android 图片压缩方法: 第一:质量压缩法:代码如下:private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compr转载 2016-08-27 17:41:50 · 453 阅读 · 0 评论 -
自定义控件之购物车数量加减
添加购物车实现数量的加减先看一下效果图 首先我们实现自定义控件代码如下:import android.content.Context;import android.graphics.drawable.Drawable;import android.text.TextUtils;import android.util.AttributeSet;import android.view.Mo原创 2016-07-20 14:07:33 · 1860 阅读 · 0 评论 -
安卓 Jsoup解析html
Jsoup解析先看一下我们要解析的: 在这里我们要找到相应的节点:private void parseHtml() { new Thread(){ public void run() { try { Document parse = Jsoup.parse(new URL("http翻译 2016-07-29 11:09:29 · 415 阅读 · 0 评论 -
android 版本更新之JAR的应用
版本更新我们还可以使用一些第三方的资源下面笔者来一一介绍:版本更的实现思路我就不一一说了,不了解的看笔者的 版本更新篇。这里我们说一下第三方的应用:大家可以根据笔者的这个地址下载 jar包 点击下载说一下怎么应用这个第三方:我们更新都会有一个更新的接口 我以这个为例吧http://www.oschina.net/MobileAppVersion.xml这里我解析的是xml的,可以根转载 2016-07-28 11:36:25 · 330 阅读 · 0 评论 -
PullToRefresh一些实用的用法
PullToRefresh 之应用PullToRefresh是一套实现非常好的下拉刷新库,它支持:1.ListView2.ExpandableListView3.GridView4.WebView等多种常用的需要刷新的View类型,而且使用起来也十分方便。原理:在View中有一个scrollTo方法,可以将整个View移动到指定的位置,PullToRefresh就是重写了onTouchEven翻译 2016-07-29 09:27:17 · 358 阅读 · 0 评论