自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android12 车机开发,隐藏系统状态栏和Dock栏

在某处启动该service就OK了,其中layoutParams.type = 2036;这个会提高层级,让其实现全屏,但是车机开发window的层级如果framework有定制化的,就需要问下framework的队友,让他们给个window的层级就OK了。有个需求是隐藏状态栏和Dock栏,且下滑手势的时候,状态栏和Dock栏显示出来。通过service,使用WindowManager添加view,设置属性层级,实现霸屏!2.完全隐藏状态栏和Dock,不会响应下滑事件的影响。

2023-06-15 13:49:34 2201

原创 Android12 车载开发TaskView实现分屏

这里只给出TaskView的代码,相关联的源码,请看源码,如果想要使用TaskView需要自己去编译frameWork的源码,打包一个aar,或者jar出来使用,否则无法直接使用。1.如果分屏的应用如启动两个应用按照权重占比,互相不叠加在一起,点触摸击事件都可响应,例如左边启动QQ了,右边启动的是微信,二者窗口都可操作。TaskView是谷歌整合安卓多任务多窗口下交互重新重构的独立出来的module,本身继承自ServiceView,TaskView的相关概念性的东西参考。//创建的taskview。

2023-06-12 11:34:34 5021 9

原创 VIM编辑器的各种指令

vim,linux

2022-09-16 10:21:24 287

原创 Android 加载Unity 3D后适配深色浅色遇到的坑

在做项目的时候,遇到一个很奇葩的问题,Activity的onConfigChanged()方法不走,这样深色浅色切换的时候,就不会适配到当前的view,有人说可以在资源文件适配好颜色或者背景的图片,但是咧,我加载的Unity的资源,需要给Unity 3d发出适配的通信。我看的android 12的源码,找到UIModeManagerService这个类,里面初始化的时候有注册系统深色浅色的信号。3.看到源码有注册深色浅色的监听,这个时候CV大法就起到作用了,试试呗,说不定中奖了咧。

2022-08-24 14:48:29 350

原创 继承AppCompatActivity的setContentView(R.layout.activity_main)内部流程

之前上一篇的写了继承Activity的setContentView(R.layout.activity_main)的过程,其实继承AppCompatActivity大体上是一样的流程,只是多出几个新的类:AppCompatDelegate 它的实现类AppCompatDelegateImpl拿到Window和PhoneWindow,DecorView,走一下AppCompatDelegateImpl.setContentView(View v)他的里面走了ensureSubDecor()这个方法又会走

2020-07-04 16:12:03 609

原创 View的绘制流程

面试中必问的问题说一下View的绘制流程,有时候说着总是说着忘记了,然后告知面试官有的我忘记了,面试官不计较也就过去了,但是要说的大概清楚,今晚总结一下,画个个图,然后分析Activity的布局绘制。 先上图吧:接下来我们进入继承Activity的类中:看到setContentView()的方法中(注意:继承AppCompatActivity的setContentView()方法里面的实现是有区别的,后续我会继续总结出AppCompatActivity的绘制)看下代码: getWi...

2020-06-25 23:01:13 238

原创 Android 使用rabbitmq实现点对点的推送

在实际项目中,客户的推送通知不需要类似极光推送或者友盟的推送,后端人员实现了通过mq实现点对点的推送通知。作为移动端的,实现起来还是很简单的。 1. 首先依赖:implementation 'com.rabbitmq:amqp-client:4.1.0' 2.在需要接收通知的地方: //这是一些配置信息:private void setupConnectionFactory() { try { factory=new Conne...

2020-06-02 09:36:01 1078

原创 Android 组件化开发搭建

模块化的开发流程 首先我们建立一个主App,主app用来控制触发进入各个模块的入口,只是一个外壳,所有的逻辑在各个模块组件内部开发,各个模块以及外壳的app通信是采用阿里的路由框架进行的,稍后我会搭建一个可以各个模块的配置,以及运行环境。大家直接实战进行吧,在网上搜索一堆的模块化开发博客,倒不如自己亲自实践一下,原理都是一样,实践出真知吧。 首先我的AS是3...

2020-04-05 14:31:41 523

原创 Kotlin学习笔记五

函数的基本用法一. 申明方式 1. 这里我们举例java中的onCreate()方法: eg: override fun onCreate(savedInstanceState:Bunndle?){} ...

2019-06-02 16:10:55 176

原创 Kotlin学习笔记四

控制语句1.条件分支简单分支首先“if……else……"的条件使用规则和java中的用法是一样的。我们在Kotlin中给某个文本赋值的时候可以直接用该语句进行赋值eg: tv.text = if(is_odd==true)"正确情况下的赋值是正值1"e...

2019-05-25 16:10:34 558

原创 Kotlin学习笔记三

一. 字符串字符串转换目录 Kotlin的转换方式 java的转换方式 字符串转整形 toInt Integer.parseInt(字符串变量) 字符串转长整形 toLong Long.parseLong(字符串变量) 字符串转浮点数 toFloat Float.parseFloat(字符串变量) 字符串转双精度 toDou...

2019-05-18 11:36:05 292

原创 Kotlin学习笔记二

上一章,我们只是完成最简单的工程,这一章,我们开始来学习其语法了一 . Kotlin和Java的基本数据类型比较基本数据类型名称 Kotlin Java 整型 Int int和Integer 长整型 Long long和Long 浮点型 Float float和Float 双精度 Double double和Dou...

2019-05-17 23:52:30 219

原创 Kotlin学习笔记一

当下谷歌将Android的开发语言由java转变为Kotlin语言,当然在国内两三年的时间内应该是没什么大的影响,但是随着以后的迁移,肯定还是慢慢的转到Kotlin 上,每周抽点时间学习一下并不是坏事,大家还是慢慢的适应市场吧。现在开干起来。 当前的AS版本3.4默认支持Kotlin的,你不在需要繁琐的kotlin环境的配置了,直接干。 首先,我们任何开发语言都是建一个...

2019-05-17 22:41:05 159

原创 Android 带横线的验证码输入框

1.自定义一个控件,继承RelativeLayoutpublic class VerifyCodeView extends RelativeLayout { private EditText editText; private TextView[] textViews; private static int MAX = 6; priv...

2019-04-21 13:27:03 4234 2

原创 本地sp保存搜索记录,并且去重的,读取,删除记录的工具类

public class HistoryData { private final static String PREFERENCE_NAME = "superservice_ly"; private final static String SEARCH_HISTORY="linya_history"; // 保存搜索记录 public static void s...

2019-04-02 15:52:10 653

原创 软件盘弹出底部的View上顶

1.复制这段代码在onCreate中,或者在自己需要的地方View decorView = getWindow().getDecorView();View contentView = findViewById(Window.ID_ANDROID_CONTENT);decorView.getViewTreeObserver().addOnGlobalLayoutListener(getGl...

2019-04-02 15:49:30 184

原创 设计模式 ----------代理模式

代理模式分为静态代理和动态代理,个人认为是有个中间人做事情,就像现实中的人代理商一样,有人生产产品,有人专门代理去卖场品一样的。简单的说一下水浒中的西门庆的代理人 王婆,王婆是个中间体,负责代理潘金莲和西门庆的任务,好了,接下来撸代码:1.首先我们定义一个接口public interface KingWomen { //这种类型的女人能做什么事情呢? public v...

2019-01-24 20:30:01 147

原创 设计模式 ---------- 观察者模式

观察者模式在Android 中的应用还是很广泛的,类似EventBus,RxJava等,我们自己设计观察者者模式的时候要创建观察者和被观察者,而Java提供者了 Observable类和Observer接口,这样我们可以方便的去实现观察者模式。我们也可以自定义的的去模拟观察者模式,不适用Java提供的类。当然为了节省时间,我就直接使用提供类。 1.首先我们去创建一个被观察者(韩非子被李思监...

2019-01-24 00:44:50 126

原创 设计模式--------策略模式

  安卓开发过程中,我们会利用一些设计模式,常见的是单例的设计模式,今天当然不是说单例的设计模式,现在我们谈的是策略模式,好了,现在看流程图: 1.   首先我们定义一个接口:public interface IStrategy { public void operate();}2.实现这个接口:public class GivenGreenLight imp...

2019-01-21 21:09:30 133

原创 Android RxJava的初次使用

        早就听说RxJava很牛X ,也一直想去研究一下,买了一些大佬的书,介绍了一下RxJava的基本操作,但是奈何作为小白,理解能力有限只能自己边敲边领会喽,先学会使用,再去了解源码,是我的学习方法之一。看的再多,敲不出代码的都是扯淡。好了,不扯犊子了,开始撸一把吧!一 . 首先,我们要差不多了解观察者模式吧,自己不理解的去看看EventBus的源码,大概就能搞得清楚。然后我们开始...

2018-11-29 17:51:46 153

原创 Android Toolbar,ViewPager,TabLayout,联合使用可以滑动的栏目

1.第一次联合使用Toolbar,ViewPager,TabLayout的时候,作为小白,卧槽,不会啊,这是什么鬼啊,看别人的博客复制粘贴啊,哎,走在CV的路上无法自拔啊,一句话,先入行的小白们都是要自己多敲代码,多练习。好了,不废话,上代码,最简单的形式最直白的简短的实现这个过程吧首先布局是这样子的<?xml version="1.0" encoding="utf-8"?...

2018-11-14 21:21:24 850

原创 Android Material Design FloatingActionButton的使用

 这一行代码就可以让他显示了<android.support.design.widget.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" andro...

2018-11-13 20:59:02 131

原创 Android Material Design

 一.最近写好久没有写编辑栏,都忘记了属性了,写下来下次能直接看 二.现在简单的布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:...

2018-11-13 20:46:54 202

原创 各种对话框的设置

1.首先主页布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:to...

2018-11-12 21:38:36 281

原创 自定义渐变文字

自定义渐变文字当然要继承TextView了,撸完直接在资源文件中引用就OK了。public class GradientTextView extends android.support.v7.widget.AppCompatTextView { private int width; /** 移动距离*/ private int translateWidth; ...

2018-10-18 14:27:09 311

原创 运行时动态权限申请

简单明了,拿来就可以用,兄die,你指的拥有public class BaseActivity extends AppCompatActivity { private final int mRequestCode = 1024; private RequestPermissionCallBack mRe...

2018-10-12 16:14:48 285

原创 Android Studio 黄油刀的最新使用方法

1.首先将module的删除apply plugin: 'android-apt'2.将之前的dependencies的依赖换成implementation 'com.jakewharton:butterknife:8.6.0'annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'3. 在AS的插件设置...

2018-09-17 22:25:51 1561

原创 状态栏

public static void initStatusBar(Activity context, boolean isTint, boolean isDark, boolean isTransparent) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { return; } ...

2018-09-16 16:42:09 113

原创 使用Gzip进行简单压缩操作

public class GZIPcompress{ public static void main(string[] args ){   throws IOExecption      if (args.length ==0){    System .out.println( "Usage : \nGZIPcompress file\n" + " tUses GZIP compr...

2018-09-05 21:33:27 583

原创 带输入框EditText的dialog

private void showDialog () { AlertDialog.Builder builder = new AlertDialog.Builder(SendMeActivity.this); LayoutInflater inflater = LayoutInflater.from(getApplicationContext()); View view...

2018-09-05 16:17:24 3535

原创 带圆圈的进度条提示框

mProgressDialog = new ProgressDialog(this);mProgressDialog.setCancelable(false);mProgressDialog.setCanceledOnTouchOutside(false);mProgressDialog.setTitle("Scan Application");mProgressDialog.setMe...

2018-09-04 16:31:31 593

原创 展示dialog的,结束任务后,自动消失

//创建对话框private void showLoadProgress(){ mProgressDialog = new ProgressDialog(this); mProgressDialog.setCancelable(false); mProgressDialog.setCanceledOnTouchOutside(false); mProgressD...

2018-08-30 11:29:22 1883

原创 单选按钮实现

1、创建一个Been ,记录状态public class DataBeen { public boolean isChecked = false;}2.适配器中操作点击事件,用来显示和隐藏public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHol...

2018-08-09 22:20:02 818

原创 7.0相机拍照后,保存图片到自定义的路径

1.布局是两个button一个是打开相机,一个是打开相册<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/re...

2018-08-04 20:47:04 2350

原创 图片转化为文件

# Camera-And-Album-Test下列代码,请求网络图片转换为bitmap,然后保存到指定文件夹,微信,QQ分享,要求缩略图不大于32kb压缩图片代码,使用了Glide来进行图片压缩处理Glide.get(ShopDetailsActivity.this).clearMemory();                Log.e("分享图片地址链接分享", "分享图片地址:...

2018-07-29 16:04:24 759

原创 Android 出现编译通过无法安装的解决方式

升级到3.0后,项目导入后,编译通过了,但是居然不可以安装到模拟器上或者手机上,然后google一把,在Module's build.gradle  下的android下添加:splits { abi { enable true reset() include 'x86', 'armeabi-v7a' universalApk...

2018-03-27 14:13:57 1089 1

原创 FragmentTabHost和fragment,viewpager,tablayout快速搭建一个底部导航栏的主界面

效果如下:首先,我们分为两层解决第一层是底部导航栏和fragment的一层,第二个我们把fragment里面加上fragment,viewpager,tablayout.第一层的 MainActivit的布局如下xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://s

2018-01-22 15:13:32 368

原创 Cardview你必须知道的一些属性

1.首先使用cardview要依赖design包2.cardview可包裹图片控件,文字 等,作为容器3.cardview属性有card_view:cardElevation 阴影的大小card_view:cardMaxElevation 阴影最大高度card_view:cardBackgroundColor 卡片的背景色card_view:cardCornerRadius

2018-01-16 10:49:40 791

原创 Android Studio3.0后,butterknife报错处理

1.首先在项目中依赖/*查找控件*/compile 'com.jakewharton:butterknife:7.0.1'2在自己的mudule的defaultConfig下添加一段代码javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true

2018-01-13 16:43:46 328 1

原创 TabLayout与ViewPagerh共用时的抽取框架

1,在开发App时,我们会遇到很多界面的TabLayout的中的Fragment的跳转问题,这时候为了避免重复写大量的代码,我们找出共性,抽取一个类,来共同的管理,减少代码量,首先我们有一个基类 public abstract class BaseFragment extends Fragment { //使用ui框架进行切换 private LoaderPager mL

2017-08-07 00:52:34 292

空空如也

空空如也

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

TA关注的人

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