- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 EditText为多行文本时,如何让光标显示在左上角
我们在使用EditText控件时,尤其当EditText为多行文本时,其光标默认是显示在中间部分位置的,有时我们需要将光标显示在最左上方位置,应该怎样解决这个问题呢,这就需要用到一个属性:gravity。 默认情况下gravity属性为center,只要将gravity属性设置为top就可以了。
2017-08-12 09:28:01 1614
原创 帧动画
前面讲了三大动画的视图动画,现在就来简单介绍一下帧动画。 现在先来看一下效果: 一.使用xml布局的形式 1.在drawable目录下新建一个xml <item android:drawable="@drawable/icon1" android:duration="300">
2017-04-25 11:05:14 341
原创 视图动画
动画分为视图动画(View Animation),帧动画(Drawable Animation),属性动画(Property Animation)。 View Animation: 视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。 Drawable Animation: 这种动画(也叫Frame动画、帧动画)其实可以划分到视图动画的类别,专门用来
2017-04-25 10:50:25 299
原创 SuperTextView
SuperTextView 是TextView的升级版,可以实现TextView的全部功能,但SuperTextView比TextView的功能更加强大,在此空间中可以将文字,图片,其他控件(如CheckBox)等。 先来看一下效果 一.在module的build.gradle中添加依赖compile 'com.allen.supertextview:sup
2017-04-21 12:30:15 532
原创 使用ZXing实现二维码扫描
在Android开发中有时我们需要实现二维码扫描功能,现在就来简单介绍一下使用ZXing 来实现二维码扫描功能。 一.在module的build.gradle中添加依赖dependencies compile 'cn.yipianfengye.android:zxing-library:2.1' 二.在项目的自定义Application中执行其初始化操作public cl
2017-04-18 13:28:41 1491
原创 Android:怎样隐藏EditText控件的下划线
在Android开发中,EditText是经常使用的控件,EditText中自带有一些默认的属性,如红色光标和红色下划线等。有时我们不想要EditText自带的红色下划线属性,这时就需要隐藏其默认属性。 怎样才能隐藏EditText自带的红色下划线呢 ? 其实非常简单,只是添加这样一个属性即可: android:background="@null" 完整代码如
2017-04-17 20:51:36 997
原创 Error: "ssdk_instapager_login_html" is not translated in "en" (English) [MissingTranslation]
我们在对程序进行apk打包时,有时会出现这样的错误 Error: "ssdk_instapager_login_html" is not translated in "en" (English) [MissingTranslation],其解决方法如下: 在module的build.gradle中添加lintOptions{ checkReleaseBuilds f
2017-04-11 13:52:08 472
原创 极光推送
使用jcenter自动集成说明 : 使用jcenter自动集成的开发者,不需要在项目中添加jar和so,jcenter会自动完成依赖;在AndroidManifest.xml中不需要添加任何JPush SDK 相关的配置,jcenter会自动导入。一.进入极光推送官网,如果是新用户则需要注册账号二.进行登陆并获取Appkey三
2017-04-06 19:35:17 241
原创 使用GreenDao创建数据库
一.创建一个自定义Application类//MyApplication在应用开启的同时第一个被执行(必须把Application类添加到清单文件中)public class MyApplication extends Application{ private DaoMaster daoMaster; private static DaoSession daoSessi
2017-04-06 19:09:19 3190
原创 给RecyclverView添加监听器
给RecyclverView设置监听器是通过适配器来实现的,Google没有适用于RecyclverView的监听器,因此需要在自定义的适配器中通过自定义接口来自定义一个监听器 一.在自定义适配器的类中实现一个监听器接口//定义一个点击接口public interface HomeOnItemClickListener { void onItemClick(View v
2017-03-30 18:48:14 384
原创 使用RecyclverView和SwipeRefreshLayout实现下拉刷新和上拉加载效果
一.布局XML 二.Java代码 三.别忘了在清单文件中添加网络权限uses-permission android:name="android.permission.INTERNET">uses-permission>
2017-03-30 16:49:32 447
原创 使用WebView加载网页并带有进度条
WebView是加载网页的控件,在使用WebView加载网页的同时,可以显示进度条,现在就来介绍一下。 一.在布局中添加ProgressBar控件和WebView控件ProgressBar android:id="@+id/progress_bar" style="?android:attr/progressBarStyleHorizontal"
2017-03-29 23:02:16 1545
原创 使用Okhttp网络请求下载图片到指定文件夹
一.在module中添加依赖 compile 'com.squareup.okhttp3:okhttp:3.6.0' 二.设置布局 xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2017-03-24 18:45:28 10789 2
原创 OkHttp网络请求
一.在module的build.gradle添加依赖 compile 'com.squareup.okhttp3:okhttp:3.6.0' 二.设置布局 xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="http://schemas.android.com/a
2017-03-24 14:32:25 260
转载 android AsyncTask介绍
AsyncTask介绍 Android的AsyncTask比Handler更轻量级一些,适用于简单的异步处理。 首先明确Android之所以有Handler和AsyncTask,都是为了不阻塞主线程(UI线程),且UI的更新只能在主线程中完 成,因此异步处理是不可避免的。 Android为了降低这个开发难度,提供了AsyncTask。AsyncTask就是一个封装过的后台
2017-03-23 16:42:48 155
转载 android AsyncTask介绍
AsyncTask和Handler对比 1 ) AsyncTask实现的原理,和适用的优缺点 AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异 步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 使用的优点: l 简单,快捷
2017-03-23 14:04:20 206
原创 网络请求和JSON解析
在大部分的App中,基本上都用到网络请求,网络请求一般都是在子线程中进行的,主线程中都是用来进行UI操作的。现在就来简单介绍一下。 在子线程中进行网络请求 在子线程中进行JSON解析 使用Handler把子线程中的数据传递给主线程 也可以配合使用Bundler来把子线程中的数据传递给主线程
2017-03-22 22:40:35 334
原创 使用Handler进行线程间的通信
Handler是用来满足线程间的通信的,每个应用在运行的时候都会生成一个主线程(UI线程),子线程中不能做更新UI的操作,必须在主线程中完成,因此必须使用Handler进行子线程与主线程的通信 一.在子线程中使用Hander进行向主线程中传输数据 也使用Bundler的形式传输数据 二.在主线程中创建自定义Handler内部类接收子线
2017-03-22 21:58:50 396
原创 Thread线程
实现线程的方法有三种:1.继承Thread类 2.实现Runnable接口 3.使用线程池实现Callable接口。现在就来简单介绍一下。 一.使用继承Thread类的方式实现线程 1.创建一个自定义线程类继承自Thread 2.在主类中进行调用 也可以使用内部类的形式 二.使用
2017-03-21 16:37:57 206
原创 动态加载Fragment
Fragment碎片包括静态Fragment和动态Fragment,现在就来介绍一下动态Fragment。 先来看一下效果: 一.创建第一个Fragment布局 xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.androi
2017-03-20 19:05:31 263
原创 静态加载Fragment
Fragment为碎片,相当于小的Activity,作用很是重要。可分为静态Fragment和动态Fragment,现在就来简单介绍一下静态Fragment。 一.创建第一个Fragment布局 xml version="1.0" encoding="utf-8"?> LinearLayout xmlns:android="http://schemas.android.com/a
2017-03-20 17:15:45 603
原创 banner轮播
现在的很多app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页, 所以要实现循环还得需要自己去动手,因此可以使用banner更为方便。先来看一下效果: 一.添加依赖banner dependencies { compile fileTree(include: ['*
2017-03-20 15:38:11 235
原创 Error:Execution failed for task ':app:transformClassesWithInstantRunForDebug'.错误
在Android开发中,我们的Studio会出现这样的一些错误,出现的Bug如下: Error:Execution failed for task ':app:transformClassesWithInstantRunForDebug'. > Java.lang.ClassNotFoundException: javax.servlet.ServletOutputS
2017-03-17 19:54:43 787
原创 Include复用和跑马灯效果
使用include可以在不同的界面布局中复用同一布局,举例来说,A,B,C三个不同的界面都可以使用include来复用D界面布局。跑马灯效果一般为文字的自动一动效果。 先来看一下效果: 创建一个XML,用作Include复用的布局 在主布局中添加include控件
2017-03-15 19:21:39 284
原创 android:scaleType属性
Android:scaleType是控制图片如何resized(改变尺寸)/moved(移动)来匹对ImageView的size(大小)。 android:scaleType的意义区别: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 CENTER_CROP / ce
2017-03-15 17:32:48 306
原创 使用RecyclerView实现瀑布流效果
在Android开发中,有时我们会用到瀑布流效果,现在就来简单介绍一下。 在res目录下新建一个menu目录,创建一个菜单的xml布局 创建一个布局,添加用来显示图片和文本数据的控件 Android:adjustViewBounds屏幕适配 该方法是boolean类型的。如果你想让这个ImageView去调整它的界限然后去保
2017-03-15 16:50:55 546
原创 使用RecyclerView实现ListView,GridView效果
RecyclerView 是Google推出的最新的 替代ListView、GridView的组件,与ListView不同,RecyclerView 不再负责布局,而是专注于布局复用。布局主要通过 LayoutManager来管理,目前提供了3种常用的布局管理: LinearLayoutManager
2017-03-14 16:07:18 991
原创 使用RecyclerView创建数据列表
RecycleView是什么?简单来说,就像是升级版的ListView。现在就来简单介绍一下使用RecyclerView创建数据列表,先来看一下效果: 一.在module的build.gradle文件中添加dependencies参数 二.在布局文件里添加RecyclerView控件 三.在res目录下创建一个m
2017-03-13 19:54:57 465
原创 Shape圆角和Selecter选择器
在android开发中有时我们会用到Shape圆角和Selecter选择器,现在就来简单介绍一下。 Shape一般用于selector、layout、控件中,有6个子标签 填充:设置填充的颜色 间隔:设置四个方向上的间隔 大小:设置大小 圆角:同时设置五个属性,则Radius属性无效(Radius为圆角半径) android:Radiu
2017-03-13 15:12:07 496
原创 使用MediaPlay播放视频
在Android开发中,我们有时需要实现视频播放功能,这就需要用到MediaPlay,现在来简单介绍一下。先来看一下效果: 一.创建一个XML布局 二.在res目录下创建一个raw目录,添加视频源文件 三.编写MainActivity代码
2017-03-10 19:34:30 510
原创 VR视频
在Android开发中,VR已经是近年来比较火的话题,在手机开发中也会用到,现在就来简单介绍一下。 一.创建一个资产目录,把需要的视频添加进去 二.在清单文件下Application节点中加入android:largeHeap="true" 三.在Module的build.gradle文件里添加所需要的dependencies参数
2017-03-09 14:11:00 415
原创 VR虚拟现实
在近几年的手机应用中,VR是一种趋势,在Android开发中有时也用到VR,现在就来简单介绍一下。 先来看一下效果: 一.创建一个资产目录,把需要的图片添加过去 二.在app>build.gradle下添加参数:compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0
2017-03-08 16:27:36 437
原创 使用ViewPager制作欢迎引导页
在Android开发中,我们有时会制作欢迎引导页,这时就用到了ViewPager,现在就来简单介绍一下。先来看一下效果: 以下为详细步骤: 一.创建三个Fragment类 二.给主类添加一个布局 三.创建一个自定义适配器 四.编写MainActivity代码
2017-03-07 20:12:42 205
原创 通过ContentProvider查看通讯录
在Android开发中,我们有时需要用到通讯录。通过ContentPrivider可以查看手机通讯录。现在先来看一下效果: 代码如下: 在清单文件中添加权限
2017-03-01 15:08:27 1005
原创 静态广播和动态广播
在Android开发中,我们有时会用到广播,广播可分为静态广播和动态广播,现在来简单介绍一下。 一.自定义一个静态广播类 二.自定义一个动态广播类 三.添加清单文件 四.编写MainActivity代码 五.点击按钮并查看结果02-28 08:16:55.833 416-416/com.zhiyua
2017-02-28 17:04:33 594
原创 有序广播
在Android开发中,有时需要用到广播,现在就来简单介绍一下有序广播。 一.创建三个类,用来进行三个广播 二.添加清单文件 三.编写MainActivity代码 四.点击按钮并查看结果
2017-02-28 15:16:10 218
原创 Service
Service是一个看不见,摸不着的界面(在后台进行的),服务和进程,每个App的启动必然会产生一个进程,一个进程中,可能会包含多个服务,也可以不启动任何服务。 服务有两种,第一种startService方式启动特性,和应用无关,即使应用退出了,服务依旧在后台运行,关闭这种 服务职能调用stopService方法 初次启动服
2017-02-23 17:47:23 195
原创 SQLite数据库的增,删,查,找
在Android开发中,有时我们需要对SQLite数据库进行增,删,查,找等操作,现在就来简单介绍一下,以下为详细代码。 一.创建一个自定义数据库 二.创建一个自定义适配器 三.编写MainActivity代码
2017-02-23 15:52:34 435
原创 Activity的生命周期
众所周知,Activity是有生命周期的,了解Activity的生命周期可以更好的编写代码,明白手机App从启动运行到关闭应用的生命周期是怎样进行的。现在我就来简单介绍一下 onCreate 创建视图,视图不可见 onStart 视图可见,不可人机交互 onResume 视图可见,可以人机交互 onPause
2017-02-22 20:37:14 286
原创 在SQLiteDataBase数据库中查看和插入数据
在Android开发中,有时我们需要在数据库中进行查看或插入数据的操作,例如查看或添加手机联系人信息等,现在我就来简单介绍一下 一.编写自定义数据库java代码 二.编写自定义适配器java代码 三.编写MainActivity代码 四.以下为程序运行效果
2017-02-21 18:15:33 862
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人