自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (6)
  • 收藏
  • 关注

原创 scrollview滑动是titlebar的显示和隐藏效果

实现状态栏向上滑动,控制titlebar类似相关的控件隐藏和显示的 修改透明度主要实现思路1.主要是通过监听scrllview的滑动scrollY的高度控制titlebar的显示或隐藏以及和状态栏的透明或非透明(沉浸式状态栏效果)大致思路步骤说明(具体还是看代码)1初始化状态栏 :initStatusBar()方法2.设置titlebar的高度 需要处理statusbar的高度 :onAttachedToWindow()方法3.上滑时第一个控件高度为参照物。根据滑动的高度来确定titlebar的

2021-03-18 17:09:35 616

原创 SimpleDateFormat时间的格式转换

最近项目遇到一些有关时间转换的问题,平时用到总是一时想不起来要怎么处理,所以记录一下。主要用到的是SimpleDateFormat 和Date这两个类基本上能解决绝大部分有关时间格式转化的问题。主要是三种比如: 时间戳 =》 年月日 时分秒1.时间戳和时间互转:(timestamp = 1606811191-》2020-12-01 16:26:31)2.时间字符串格式转化: 2020-12-01 16:26:31 -》2020-12-01下面展示代码看比较清楚 内联代码片。 //1 时间

2020-12-01 17:17:05 662

原创 Android Studio编写xml不提示控件属性

最近开发中Android studio突然莫名其妙的不提示xml控件的属性,比如控件的android:idandroid:layout_width类似相关的所有属性都不提示,类似下图,没有提示任何属性![在这里插入图片描述](https://img-blog.csdnimg.cn/20200811095728673.png)网上看了很多博客,都没有解决我的问题,修改compileSdkVersion的版本之后可以提示(本来是28,后面改成26),但是xml的预览priview不显示,相关依赖的modu

2020-08-11 10:07:35 3888 6

原创 Recyclerview的Adapter的使用以及item以及item内部的点击事件

这个是Activity的调用package com.app.chuanghehui.ui.activityimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.support.v7.widget.DividerItemDecorationimport android.s...

2019-12-03 10:35:43 632

原创 Pos的工作密钥、主密钥、工作密钥属性和作用

近期在从事Pos应用的开发,由于之前未接触过相关开发,所以很多概念性的东西不是很明白,因此做下总结记录供以后查阅 目前来说主要接触密钥的分别时:工作密钥 主密钥 传输密钥 1.工作密钥   工作秘钥也称为数据密钥,包含PIN秘钥,MAC秘钥以及磁道秘钥(TDK)。在POS每次做签到交易时,由POS中心下发给POS。需要经常性地定期更换,通常每天更换一次。 在联机更新的报文中对工作密钥必须用...

2018-05-09 17:33:37 5956 1

转载 Activity去除标题栏和状态栏

一、在代码中设置public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //去除title requestWindowFeature(Window.FEATURE_NO_TITLE); //去掉Activity上面的状态栏getWindow().setFlags(Wi

2017-09-29 10:29:12 1537 1

原创 Android布局延伸到状态栏

废话不多说上代码: @SuppressLint("InlinedApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().requestFeature(Window.FEA

2017-09-01 17:02:53 1643

原创 SharedPreferences的用法以及详解

用了很多次的SharedPreferences,这次来好好总结一下SharePreferences的用法以及需要了解的知识。主要是写给我第一位粉丝看的。希望以后的粉丝越来越多,我也更加有动力写更多更好的博客。 首先介绍一下SharedPreference。 SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity

2017-02-28 10:03:44 47112 25

原创 RadionButton和Viewpager实现页面切换联动

下面是显示的效果: demo下载地址:http://download.csdn.net/detail/mr_condingson/9756342 说明主要是一个使用了一个ViewPager和一个radButton相互绑定实现联动的效果。

2017-02-27 10:33:22 552

原创 OptionMenu的简单使用

过了个年将近一个月没写代码了,今天写一个关于OptionMenu的基本使用方法。需要注意的是一个Activity中只能有一个optionMenu 首先看看效果: 下面是MainActivity中的代码:package demo.liuchen.com.menutest;import android.graphics.Color;import android.support.v7

2017-02-08 08:49:32 1069

原创 算法之二分法查找

知之者不如好之者,好之者不如乐之者。 当我们需要在一个有序的数组中需要查找某一个元素是否存在或元素存在的位置时,使用的比较多的就是二分查找也叫折半查找,首先我们来理一下它的查找流程,我们有一张图片来展示: 下面是实现的代码:package com.array.text.search;import java.util.Arrays;import

2016-12-27 23:37:09 429

原创 简单排序:选择排序

知者不惑,仁者不忧,勇者不惧。 总结一下有关选择排序的知识,首先我们来理一下选择排序的思路,当拿到一个数组,首先将第一个元素假设为数组中最小的元素,拿到它的下标,将第一个和后面的元素相比较,如果有小于第一个的元素,则交换下标,通过一轮比较后,知道最小的数字的下标,然后将第一个数字和真正最小的元素交换位置。通过外层循环来比较多轮,每轮确定一个最小的 通过素组长度-1轮后就排列完成。下面是分析图:

2016-12-26 23:00:24 403

原创 简单排序:插入排序

独学而无友,则孤陋而寡闻。 前面一篇博客写了冒泡排序,接着我们总结一下选择排序 首先要了解选择排序的基本思想,从第一个元素开始,取出下一个元素比较,如果该元素小于前一个元素则插入到前一个元素的前面,文字表述比较抽象,还是通过案例来说明。 当我们定义一个数组{5,4,3,2,1},看下图: 通过四轮比较每次将该轮最小的值插入到前面去,一次进行排序从而实现排序的功能。 下面我们

2016-12-15 23:26:26 414

原创 匿名内部类的实现

匿名内部类是内部类的一种写法,一般实现的类只需要使用一次则可以使用匿名内部类来写。 其中两种情况可以使用匿名类部类 :1 实现一个接口 2.实现抽象父类的抽象方法首先我们看如果不使用匿名类部类的实现方式://首先定义一个接口public interface MyInterface { void f();}//定义一个类叫Niming,成员方法的形参是接口对象public

2016-12-14 21:01:09 599

原创 简单排序:冒泡排序

温故而知新,可以为师矣。 今天写一篇关于排序算法的博客,理一理学习的思路。 首先 一想到排序算法最简单易懂的当然是冒泡排序了,现在给大家理一理冒泡排序的思路,冒泡排序的的基本思路是在相邻的两个数字之间比较,然后将比较小的放在前面,然后依次比较。 举个例子来说首先我们自定义一个数组:{5,4,3,2,1}; 要求将该数组从小到大排列 我们首先从后往前开始比较:将较小的的换到前面去 第

2016-12-14 20:55:06 392

原创 接口回调

以前对接口回调的机制总是模糊不清,今天学习了个案例对接口回调有了一定给的了解,分享给大家!首先我们通过例子来说明问题:学生问问题给老师学生问:java中有几种数据类型?老师想了一会儿(一段时间)才回答:8种,通过接口回传给学生通过代码接口回调模拟这一场景:首先声明接口:用于传递老师的答案public interface Callback {void send(St

2016-12-12 20:56:45 768

原创 单例设计模式

什么是单例模式?单例设计模式是一种常用的软件设计模式,简单的来说,单例模式可以保证一个类只有一个实例并且该实例易于被外界访问.为什么要使用单例模式?举个例子:比如小张在银行中新开了个银行账号用于存钱,当小张在在上海存了1000元然后小张由于出差,又在杭州存了1000元,小张只需要申请一个银行账号就行了没有必要申请多个账号,所以现在小张的账户里面有2000元。在此案例中,申请

2016-12-12 14:11:41 507

原创 Android四大组件之Activity详解

一提到四大组件首先想起的就是Activity,现在就好好把Activity好好总结一下,以便以后忘记时查阅。想到Activity 首先就是Android的生命周期,脑海中自然就想到了文章底部下面的那张Activity生命周期图。首先来说说Activity的生命周期:1.一个完整的生命周期(entire lifetime): onCreate -> onStart -> onResume

2016-12-06 20:42:23 420

原创 Bitmap和drawable的互相转换

最近在写demo是遇到了些问题,当发送网络请求获取图片数据将图片,但是图片是bitmap数据但是设置background需要drawable才能用所以我需要将bitmap转换为drawable,写下此片总结方便以后查阅一、Bitmap转Drawable  Bitmap bm=xxx; //xxx根据你的情况获取  BitmapDrawable bd=BitmapDrawab

2016-12-01 16:49:02 943

原创 AlertDialog的超简单用法

给大家介绍一种AlterDialog的简单的用法,当前的使用场景是在当用户按返回键是对返回键进行监听,通过AlterDialog的提示选择是否退出活动。 //监听按钮 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode ==KeyEvent.KEYCODE_BA

2016-11-27 21:22:50 541

原创 自定义View的简单案例(4)实现小风车旋转的效果

此案例通过自定义view设置一张风车的图片实现不停旋转的功能。可以先看下面的效果在看具体的实现和前面一样首先自定义一个类继承View 实现两个构造方法,之后在两个构造方法中都初始化画笔在此案例中用到的canvas的方法先给大家解释一下:canvas.save()保存状态,canvas.rotate()旋转canvas.restore();删除画布属性invalidate()

2016-11-23 21:05:30 890

原创 自定义View的简单案例(3) 记事本的实现

经过前面两个小案例的学习,下面我们来通过自定义控件实现记事本的效果的控件talk is cheap ,show me  the code ! 废话不多说上代码:首先新建类继承EditText:此案例的重点是设置每行之间的间隔以及画每条间隔线package demo.liuchen.com.android27_customview.MyEditTextCustom;import

2016-11-22 21:50:37 541

原创 自定义View的简单案例(2)

上一篇讲了自定义View的基本用法,这一篇就用来熟悉自定义view以及拓展下一些小效果步骤和上篇一样,也不啰嗦了直接上代码首先定义一个类继承View ,此处不同的是需要用到Point 画笔类,所以我们需要先在两个构造方法中首先初始化画笔package demo.liuchen.com.android27_customview.MyTextViewCustom;import andro

2016-11-22 21:21:54 369

原创 自定义View的简单案例(1)

最近在学习自定义View,几个简单的自定义View控件的小案例,供大家参考案例一:主要是熟悉自定义View的步骤自定义view的步骤:1.首先创建一个类继承View(或者view的子类TextView什么的都可以,根据实际需求可以自己选择)。2.实现两个构造方法3.在 res文件夹下的Value新建文件中新建attrs文件在declare-styleable的标签下

2016-11-22 20:56:01 539

原创 二次采样设置的四种彩色模式RGB565,ARGB8888,ARGB4444,ALPHA_8

在上一篇博客三级缓存和二次采样的使用中我们提到了四张彩色模式,下面我就给大家介绍一下在介绍之前我们小了解一下Android中图片占用内存的几个主要的因素:1 图片长度2 图片宽度,  3 单位像素占用的字节数所以一张图片的占用的内存可以用计算公式:一张图片(Bitmap)占用的内存 = 图片长度 * 图片宽度 * 单位像素占用的字节数.需要注意的是:图片长度和图

2016-11-19 12:09:37 4209

原创 图片的三级缓存和二次采样使用的案例

首先跟大家介绍一下三级缓存,当然缓存的好处就是可以让用户体验更好,缺点就是没有实时更新数据,但我们大部分应用都不需要实时更新,所以三级缓存运用面比较广的。所谓三级缓存其实是一种加载图片文件的策略,简单的来说就是 “内存——文件——网络”,顾名思义,当你需要加载一张图片,首先去内存中去取,原因是内存的响应速度最快,其次是外存(即SD卡),如果两者都没有你需要的图片,那就只有发送网络请求获取图片,

2016-11-19 10:59:56 2099 2

原创 在子线程中操作Ui的几种小方法

在MainActivity中的子线程不能操作UI 所以我总结几种比较简单实用的方法来实现在子线程中对Ui进行修改的方法方法:1.handler的使用2.imgeView.post()或者textView.post()方法3.MainActivity.this.runOnUiThread()方法废话不多说,看代码:package demo.liuchen.com.okhttp

2016-11-18 20:30:52 1139

原创 当ScrollView中嵌套ListView时出现的问题

最近在项目的时候遇到的一些问题,当在ScrollView中嵌套一个ListView时遇到的了两个问题现在记录下来供大家参考:第一个问题:SrollView中的listview中数据填充好了以后只显示一行。解决方法:加入如下方法public ViewGroup.LayoutParams getListParams() { ListAdapter listAdapter

2016-11-04 15:28:03 393

原创 Picasso和Glide的介绍及比较

Picasso:一款强大的图片下载和缓存库.A powerful image downloading and caching library for Android使用方法:Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);Picasso优点:   不仅实现了

2016-10-28 22:33:25 535

app检测与更新

该案例流程如下:首先调用接口检测app应用是否是最新的app,如果不是则跳出对话框让用户选择是否更新,如果用户同意更新则调用更新接口通过service进行下载,如果用户不同意更新则自己定义时间间隔下次提醒。

2017-09-04

三级缓存和二次采样结合使用的案例

主要是演示了关于图片的三级缓存和二次采样的原理以及他们的结合使用方式

2017-02-27

Fragment之间传值的案例

两个碎片之间的传值

2017-02-17

radionButton和viewpager实现页面切换的效果

通过将radiobutton和viewpager相关联实现相互联动

2017-02-16

好用的截屏软件

好用的截图软件

2017-02-15

OptionMenu的小案例

OptionMenu的基本使用

2017-02-07

空空如也

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

TA关注的人

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