- 博客(20)
- 资源 (3)
- 收藏
- 关注
原创 flutter基础之基础控件Container与Text
一:布局Container详解Container在Flutter中太常见了。官方给出的简介,是一个结合了绘制(painting)、定位(positioning)以及尺寸(sizing)widget的widget。它是一个组合的widget,内部有绘制widget、定位widget、widget尺寸。构造函数如下: Container({ Key key, this...
2018-12-12 10:11:23
1140
原创 flutter基础之编写您的第一个 Flutter App
创建 Flutter app选择 File>New Flutter Project 选择 Flutter application 作为 project 类型, 然后点击 Next 输入项目名称 (如 myapp), 然后点击 Next 点击 Finish 等待Android Studio安装SDK并创建项目.看下项目组成我们主要编辑Dart代码所在的 lib/main...
2018-12-08 11:12:03
729
原创 flutter基础之开发环境搭建
在Windows上搭建Flutter开发环境1.准备工作获取Flutter SDK 获取Flutter SDK之前需要下载 git客户端 ,打开 git 命令行工具(没有的先安装,地址https://git-scm.com/download/win),选择合适的磁盘目录,用 git 克隆 flutter。2..在CMD里进行下载flutter SDKgit clone -b b...
2018-12-08 10:44:57
222
原创 Android垂直tab导航栏、左侧竖直tab导航栏,支持viewpager,不依赖viewpager
人生导言: 做你害怕做的事情,然后你发现,不过如此。这是基于有时候需要左侧竖直tab导航栏 ,可以直接拿来用,继承自ScrollView 先来看下效果部分代码:适配器 private class MyTabAdapter implements TabAdapter { List<String> menus; ...
2018-12-06 10:09:02
9368
3
原创 Viewpager+Fragment如何动态添加、删除Fragment
前言:有时候需要动态改变tab条目数,需要动态去改变Fragment,根据API不管是使用FragmentPagerAdapter或者FragmentStatePagerAdapter都无法直接实现。原因分析:根据习惯我们都会调用 mAdapter.notifyDataSetChanged(),但是viewpager+FragmentPagerAdapter(或FragmentState...
2018-12-05 16:13:53
3725
原创 Android中AIDL的使用
AIDL说明AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写,对于小白来说,AIDL的作用是让你可以在自己的APP里绑定一个其他APP的service,这样你的这个应用可以和其他应用交互,也就是应用之间的通信AIDL的用法首先创建服务
2017-11-14 14:45:48
285
转载 APK瘦身套路-项目优化篇
1.项目结构瘦身套路套路一:引入库的优化去掉无用的库项目中如果apk支持的最低版本是API14,而代码中没有用到高于api14的api就可以考虑去掉整个android support库。最小化集SDK很多小伙伴在项目中都引入了友盟工具,但是很多时候我们往往只需要友盟分享,那么我们可以把项目引入的友盟推送去掉,只集成友盟分享SDK,已达到精简的目的。套路二:G
2017-10-30 17:01:25
290
转载 Android 开发中比较常见的5个内存泄漏问题及解决办法
在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢?原文链接内存泄漏在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了。内存泄漏有
2017-10-30 16:56:02
315
原创 EventBus使用
EventBus 是一种为 Android 而优化设计的发布/订阅事件总线有了这个,对于一个事件,你只要关心发送和接收就行了,而其中的收集、分发等都交给 EventBus 来处理,你不需要做任何事使用方法首先导入依赖包dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidT
2017-10-30 16:44:44
293
原创 AsyncTask 工作原理及线程池
概要在 android 中,线程通常为主线程和子线程,前者主要处理和界面相关的事情,而子线程主要用于耗时操作。 android 中的线程主要有 Thread、AsyncTask、IntentService 和 HandlerThread 。AsyncTask、IntentService 和 HandlerThread 的底层实现都是线程,但都有特殊的表现形式,各有优缺点。 AsyncT
2017-10-30 15:55:12
647
转载 Android App 优化之消除卡顿
1, 感知卡顿用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI渲染性能. 如果我们的UI设计过于复杂, 或是实现不够好, 设备又不给力, 界面就会像卡住了一样, 给用户卡顿的感觉1.1 16ms原则在剖析卡顿的原因之前, 我们先来了解下Android中著名的"16ms"原则:Android系统每隔16ms会发出VSYNC信号重绘我们的界面(
2017-10-30 15:26:17
413
原创 Android Handler 机制原理
Handler 原理概述在Android系统中实现了一套类似的消息处理机制。在下面介绍handler机制前,首先得了解以下几个概念:1. Message消息,理解为线程间通讯的数据单元。例如后台线程在处理数据完毕后需要更新UI,则可发送一条包含更新信息的Message给UI线程。2. Message Queue消息队列,用来存放通过Handler发布的消息,按照先进先出执行。
2017-10-30 11:36:44
306
原创 Android实现滑动悬浮置顶(二)采用改写Scroview实现
话不多说直接上代码:package t.s.com.wogdet;import android.content.Context;import android.support.v4.widget.NestedScrollView;import android.util.AttributeSet;import android.view.MotionEvent;import androi
2017-10-20 15:08:55
2231
1
原创 Android实现滑动悬浮置顶(一)采用Material Design新控件实现
我们直接来看布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/top_left" android:layout_width="m
2017-10-20 14:37:39
3128
原创 Android Material Design控件学习NavigationView和Toolbar使用
Google I/O 2015 给大家带来了Android Design Support Library,我们也可以到Android Design Support Library进行了解,下面介绍Toolbar的使用和NavigationView导航抽屉,而NavigationView的典型用途就是配合之前v4包的DrawerLayout,首先导入依赖包compile 'com.android
2017-10-20 10:17:14
427
原创 android 7.0 调用系统相机崩溃问题
之前好好的代码6.0以前都没事,但是在7.0手机调系统相机拍照就崩溃了,查看7.0系统权限问题,网上收罗许久,发现解决方案:1、(推荐)7.0之后你的app就算有权限,给出一个URI之后手机也认为你没有权限。不用修改原有代码,在Application的oncreate方法中:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
2017-10-19 16:42:29
1072
原创 Android自定义控件的三种实现方式
Android 自定义控件三种实现方法为组合原生控件,自己绘制和继承原生控件.1.组合原生控件将自己需要的控件组合起来变成一个新控件,如下制作常见的app页面头部. 新建一个Android项目,创建一个头部布局view_top.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android
2017-10-19 15:11:15
34137
13
原创 Android 集成微信支付步骤详解
Android开发要点说明 集成之前的步骤不能省,下面引用官网步骤1、后台设置商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。设置界面在【开放平台】中的栏目【管理中心 / 修改应用 / 修改开发信息】里面,如图红框内所示。应用包名:是在APP项目配置
2017-10-18 14:19:58
801
1
原创 Glide加载图片成圆角
Google推荐的图片加载库Glide介绍导入库dependencies {compile 'com.github.bumptech.glide:glide:4.0.0-RC0'}加载图片的方式Glide.with(mContext) .load(image) .into(view);如果需要加载圆角图片则需要重写
2017-10-18 11:14:00
524
原创 Mina框架使用---Android客户端的实现,断线重连,粘包处理(服务端非mina)
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的
2017-10-18 09:07:00
1885
Android悬浮按钮
2018-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人