自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Android ——可折叠Title(踩坑详细记录)

1,NestedScrollView必须设置behavior,否则将与AppBarlayout重叠,因为CoordinatorLayout是一个CoordinatorLayout is a super-powered {@link android.widget.FrameLayout FrameLayout}2,CollapsingToolbarLayout会折叠内部的所有控件,并且它也...

2020-03-13 11:36:20 550

原创 Android——仿QQ的多界面的ViewPager

先上效果图:首先这个界面背景透明,所以我们肯定需要在一个弹窗中嵌套ViewPager进行操作,先自定义一个DialogFragment:class TestDialogFragment : DialogFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,...

2020-03-09 14:49:57 292

原创 Android——为图片增加水印,并且保存到图库刷新

为图片增加水印我们可以通过canvas来绘制,首先我们新创建一个工具类:object WaterMarkHelper { fun createWaterMaskBitmap(context: Activity?, src: Bitmap, watermark: String, paddingLeft: Int, paddingTop: Int): Bitmap { /...

2020-03-05 11:51:17 692

原创 爬坑记录——Smack的MultiUserChatManager报错ConcurrentModificationException

最近bugly收到频繁的崩溃记录,ConcurrentModificationException,咋一看,以为我在循环列表的时候进行了增删操作,结果找了大半天也没找到对应的地方,后来再Smack官网查看4.3.0修复了该错误,随后升级Smack,错误解决,原因是MultiUserChatManager在用户多次加入聊天室的时候没来得及同步,最后在说一个坑,就是加入聊天室之前先退出一次,虽然系统会先...

2020-03-05 11:22:38 245

原创 Android——从JAVA到Kotlin(Kotlin速成,讲讲我的经验)

最近一段时间转移到了新的项目组,而这个项目接受的时候让我瞬间懵逼,因为所有都是使用kotlin来写的,为了短时间内使用Kotlin(其实只要有java基础kotlin很简单),我大概花了一周多的时间开始得心应手,下面讲讲我的经验1,基本语法:Kotlin的基本语法糖和Java还是有很多不同的地方的,我挑几个比较重要的来说(以下均为自己的理解,如有不对的地方欢迎指正):var和valk...

2020-03-05 11:05:36 596

原创 Andorid DialogFragment嵌套Fragment

问题:DialogFragment嵌套Fragment报错,应用场景为在dialogfragment中使用fragment进行切换,错误信息:No view found for id xxxxxfor fragment XXXX找到问题代码之后发现使用的是getActivity().getFragmentManager().XXXX将其改为ChildFragmentManager.X...

2019-07-18 14:08:48 2439

原创 Android 复制代码后无法找到资源文件问题

问题记录:在另一个model复制代码之后,资源文件名没有报红,跑起来的时候却提示找不到资源文件,是因为引入的R文件是另一个model的R文件,将引入删除重新import一次解决...

2019-07-18 14:04:37 308

原创 java静动态代理分析

今天在学习的时候,看到了“代理类这个词”,之前学到这个似懂非懂就直接跳过了,今天重新认真学习一下什么是代理类。简单来说,代理类是一个类的另一种实现方式,打个比方,我现在是坐着的,我想买一颗糖,我可以自己站起来直接去买也可以让我的朋友帮我去买,虽然方式不同但还是达到了同样的效果。让朋友去买这个方式就是代理类的作用。代理类可以在不更改原目标类的情况下进行代码的拓展和维护。继续用买糖为例子就相当于不...

2019-02-21 15:01:32 158

原创 Android ——仿微博添加标签话题的EditText

在github上找到的一个仿微博控件,自己加以完善,实现了用户输入的时候自动识别是否输入了标签public class TagEditTextView extends AppCompatEditText { private int preTextLength = 0; // 默认,话题文本高亮颜色 private static final int FOREGROU...

2018-12-19 18:01:22 1892

原创 Android ——视频未加载完成之后返回,activity所有颜色异常(并没有设置透明度)

SerfaceView或者VideoView的背景导致,自定义构造一个视频播放kong控件,问题完美解决

2018-12-19 17:57:47 196

原创 Android String字符串中包含的某个或某串特定字符串改变颜色

一个String要改变颜色,众所周知需要用到SpannbleStringBuilder,它能改变某个字符到某个字符的位置之间的字符串颜色,比如:“111121111”可以变成“111121111”这很简单,但是如果是这种情况呢,要把“1223121231321234”中的“231”和“12”改变颜色,这就很难受了,解决方案如下:public void changeText(S...

2018-12-19 17:42:17 6178 2

原创 Flutter学习——第一天

这几天任务量不多,开始学习Flutter,搜索了一下wang网上的信息,大部分都是抄袭官网直接复制粘贴,所以决定自己写写关于Flutter的体会以及踩坑。 刚开始,我们来了解一下什么是Flutter,详见此文档:https://flutterchina.club/flutter-for-android/#intent在flutter中等价于什么配置环境这里就不赘述了,咋们直接从最开...

2018-11-01 10:34:11 224

原创 Android滚动菜单实现

先上效果图:这是项目中一个qing请假的选择请假类型的滚动菜单,用了WheelView,继承了WhellViewAdapter并zuo'做了些许修改。下面开始分析代码:首先自定义一个Dialog,然后布局文件: <yilanTech.EduYunClient.view.wheel.WheelView android:id="@+id/dialo...

2018-10-10 12:04:33 1372

原创 Fragment与Activity通信

之前虽然写过Fragment的文章,但是感觉在项目中根本不实用,今天来说一说Fragment的通信问题,看了看网上,大部分都写得很详细生命周期什么的废话就不多说了,在这里说几个比较常用到的方法:Fragment的Oncreat方法,该方法返回Fragment的UI布局,需要注意的是inflate()的第三个参数是false,不然会因为重复添加布局报错。Fragment要传入参数,最好不...

2018-09-04 14:14:25 354

原创 关于List的contains

今天在项目中使用List的contains方法来判断list中是否包含了我自定义的实体,不包含的话则将其add进去,可是不管我的列表里有多少个一样的实体,它还是会一直执行add,这让我很奇怪,因为以前使用的时候貌似并没有出现这种问题。然后打开了以前的项目之后,发现当时的List包含的实体是Integer,于是我打开List源码,找到contains方法,发现其实它使用的就是equals方法,而...

2018-09-04 13:56:36 1094

原创 Android设计模式——Material Design学习(一)

Material Design(原质化设计)是谷歌2014年推出的新的设计模式,但是发现自己在项目中使用的还是比较少,所以这里来做一个学习总结。Material Design主要强调的是统一的安卓应用风格,但是它的普及程度却并不理想(用起来真的好费力)。于是在2015年谷歌发布了Design Support库,让程序员可以在不了解Material Design的情况下轻松使用。下面不多说,为了达到...

2018-07-05 13:04:51 6199

原创 关于PopupWindow的小坑,点击外部不消失,宽高等问题

最近在项目中遇到了关于Popupwindow的小坑,这里用于记录一下,PopupWindow在android6.0之前,在没有设置Setbackground方法时,setOutTouchAble是无效的,因为只有在setbackground之后,才会走到touchable方法里面去,这很坑,但是在android6.0之后,谷歌已经优化,所以根本不需要设置background就可以了。还有就是犯了一...

2018-06-29 11:56:37 512

原创 Android——超级好用的加载图片框架Glide

今天在看书的时候学习到了Glide这个强大的框架,github项目主页地址:https://github.con/bumptech/glide这个框架有什么用呢?它是一个超级强大的图片加载库,它可以加载本地图片,网络图片,GIF甚至本地视频,重点是:它真的好简单!!!好简单!!好简单!!比如之前我在项目中使用到的家在网络图片,又是下载又是解压什么的,超级麻烦,然而这个框架内已经帮你完成了所有的操作...

2018-05-10 11:24:10 304

原创 android——回调函数的理解与学习

最近在项目中遇到了一个特殊的情况,在项目中点击dialog中的recyclerview,返回item中的数据,并且让dialog dismiss,这里就需要用到回调的只是,关于什么是回调,我将在这篇文章详细讲解:我先来讲解一下回调的三个步骤,然后再仔细分析:首先我们在dialog定义接口:public interface OnClickItemListener { void clickRe...

2018-05-07 14:32:20 433

原创 Android——ViewPager所有基础功能与无限循环都在这里

花了很长时间研究ViewPager,这篇接上一篇文章,现在我来讲述一下关于ViewPager的标题,ViewPager的标题有两个,PagerTitleStrip和PagerTabStrip,我先上一下两个的区别效果图:PagerTitleStrip:PagerTabStrip:唯一的区别就是下面的那个光标,而使用的方法则都是一样的,首先,我们在ViewPager下面给它添加子控件:<?xm...

2018-04-10 13:58:34 742

原创 android——初次尝试ViewPager,适配器PagerAdapter详解

说道ViewPager,这是每个app都存在的常用控件之一,它从android3.0开始出现,多用于App的首页部分,今天便来探究一下ViewPager,先上效果图:首先说一下ViewPager的机制:viewpager有三个适配器,pagerAdapter,FragmentpagerAdapter,FragmentStatePagerAdapter第一个pagerAdapter是普通的pager...

2018-04-09 17:09:36 4583 2

原创 Android——碎片的使用,实现页面切换

嗯。。其实在很久以前我就会使用碎片,但是后来在项目中我负责的部分很少使用到碎片,所以渐渐有点生疏了,今天翻我的博客发现居然没有介绍过碎片,复习一下顺带写一篇关于碎片的博客,先上一个效果图:这里图方便我就只做了两个按钮切换,废话不多说,开始代码部分,首先,我们将activity的布局改成这样:是的,通俗一下理解,这个就是你的主页面,而碎片就是因为你的主页面点击之后不停变化的一个layout,首先我们...

2018-04-09 15:24:07 5543 1

原创 RecyclerView的深入——ItemTouchHelper,实现侧滑删除和上下拖动交换位置

参考文献:https://blog.csdn.net/a553181867/article/details/54799391 (侵删)今天在总结5.0与6.0新控件的时候发现了这个新的工具类,ItemTouchHelper,这个实现recyclerview侧滑删除与上下拖动交换位置的官方sdk,对此产生浓厚兴趣,于是开始学习了一下,首先来介绍一下ItemTouchHelper这个工具类,它包含了...

2018-04-08 11:21:45 1125

原创 android——DrawerLayout专栏,讨论几种常用的方法

在之前的文章中介绍了DrawerLayout布局,这里就来说一下Drawerlayout里面的各种常用方法,说道方法,首先肯定用到最多的就是监听器drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() { @Override public void onDrawerSlide(@NonNull View dr...

2018-04-03 18:01:34 678

原创 Android——ToolBar学习并且与DrawerLayout结合使用

ToolBar是android5.0推出的控件,用来替代原有的ActionBar,实现自定义title的功能。在使用它之前,(低版本要导入V7包)我们要在AndroidMainSelf文件里面将theme改成下面这样,不然的话会报错哦~:<resources> <!-- Base application theme. --> <style name=...

2018-04-03 17:44:50 427

原创 Android—— DrawerLayout 学习

DrawerLayout是实现侧滑的布局,它的方便性在于它自带侧滑监听,由于很早就想实现一下像QQ一样的侧滑菜单,于是今天研究了一下DrawerLayout这个布局,废话少说我们先看一下布局:<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:androi...

2018-04-03 17:09:05 219

原创 JSONobject拿不到数据

今天从服务器拿数据的时候,发现不管我怎么刷新RecyclerView的都没有数据展示出来,于是在接口那里寻找,发现自己把jsonobject.optInt(“res”)写成了jsonobject.getInt(“res”),而返回的数据中并没有res字段,导致了数据加载失败,这个问题是源自于opt与get的差异,当JSON数据源中不存在当前字段时,使用opt方法仍然可以继续读取数据,而使用get将...

2018-03-29 15:30:29 2297

原创 android——打造超级方便的一键式添加型Title

今天在自己尝试制作App,使用以前的老办法自定义一个title,写着写着发觉很不方便:1,每个界面都有title,一直重复为每个界面添加特别麻烦。2,不同的界面有不同的要求,有的界面之又返回键,有的界面有返回键和更多选项。虽然以上两个问题非常说起来很简单,但是做起来代码量真的非常大,于是开始想有没有一种办法可以用几行代码就控制title的添加与移除?更改title名称?或者说为每个右选项按钮设置不...

2018-03-08 18:02:42 387

原创 android——记一次超级反常的错误信息

嗯,今天打开编译器,然后莫名其妙报错了!是的报错了!但是我也不知道为啥啊。。。从来没出现过这种情况啊。。。为什么突然之间就报错了啊,刚才都还在跑程序。。然后看了一下错误信息:wtf?这是啥?在网上搜了半天,又说sdk版本对不上的,有说build配置不正确的,还有人跟我说是图片部队造成的,然后最后拖了前辈的帮助终于解决了,方法如下:把这里面带加号的全部给删掉,再重新添加不带加号的,然后进入build...

2018-03-08 13:57:28 158

原创 Android——网络交互,如何调用接口并且json解析json格式和pull解析xml格式

本菜鸟因为之前一直使用的是公司前辈封装好的类(网络接口调用超级方便有木有)完全没有想过有一天我会自己写,然后今天接触的时候一脸懵逼,然后今天花了一天时间终于研究好了;哈哈哈哈哈二话不说先上代码:package com.example.administrator.caipiaoproject;import android.app.Activity;import android.content....

2018-03-07 21:55:39 794

原创 小插曲,app点击两次返回键退出

最近没事,今天就在看别人做的时候发现了点击两次退出这个东西,虽然在很多app中很常见,但是本菜鸟真的是一次也没尝试过,于是就决定试一下好了首先,在这里说一下思路,肯定就是对手机的返回键进行监听,于是网查看了相关方法,监听返回键有两种,第一种是OnBackPressed方法,此方法调用之后方法里会有super(),这里要注意一下,如果要使用这种方法,当super执行的时候,finish()方法也就自...

2018-02-27 15:18:53 160

原创 android———WebView学习(1)

由于近期项目里面涉及到使用webview,而且本人一直没有使用过这个控件,于是自己在网上搜索资料自己开始摸索,一下为记录的所有流程,仅供分享个人学习记录,不喜勿喷,谢谢:参考链接:http://blog.csdn.net/carson_ho/article/details/52693322webview是一个在控件自身里显示网页信息的view,使用的方式很简单,可是其中涉及到许多js交互、自动适配...

2018-02-24 15:34:39 156

原创 慢慢成长路——自定义ViewGroup(1)

在这之前我首先看了网上多个版本的继承ViewGroup的方式,详细版如下:http://blog.csdn.net/xmxkf/article/details/51500304快捷版:http://blog.csdn.net/huachao1001/article/details/51577291好了,先来说说自定义ViewGroup遇到的一些问题,总的来说,继承V

2018-01-29 15:39:28 158

原创 慢慢成长路——自定义view(2),关于自定义属性的深入解析

再查看源码的属性设置时候,注意到了spanable这个属性,于是去查了查!发现真的特别强大:1、BackgroundColorSpan 背景色2、ClickableSpan 文本可点击,有点击事件3、ForegroundColorSpan 文本颜色(前景色)4、MaskFilterSpan 修饰效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter

2018-01-27 14:07:46 263

原创 慢慢成长路——android学习,自定义View(1)

知识来源:http://blog.csdn.net/xmxkf/article/details/51454685#reply由于项目需要,花费了很大的时间开始学习View的自定义方式,但是发现很多文章都不适合我这种新手,于是跟着上面连接博主的文章开始从基础学习,以此来做学习笔记:po上我的代码:class MagicTextView extends View { //需要绘制的

2018-01-26 15:20:03 278

原创 关于dialog设置无标题无背景(去掉背后的灰色框)

在项目中,我们难免会遇到自定义dialog的情况(与其说难免不如说大部分的时候都需要自定义),然而系统的dialog实在是太难看了,那该怎么办呢?首先我们需要新建一个drawable文件,用来设定展示的dialog的样式,举个简单的例子:shape xmlns:android="http://schemas.android.com/apk/res/android">solid andro

2018-01-25 10:45:05 2728

原创 关于Dialog根据屏幕设置大小

支持原创,转载请注明出处,谢谢前段时间因为项目需要要设置一个特定大小的dialog,在网上看了许多时间的代码,发现大部分都是千篇一律,于是个人开始试着跟着写,内容大致如下:package yilanTech.EduYunClient.plugin.plugin_attendance.teacher;import android.app.AlertDialog;import

2018-01-25 10:28:51 926

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除