- 博客(71)
- 收藏
- 关注
原创 下拉上滑显示与隐藏导航栏和状态栏(自定义ScrollView)
首先写个自定义ScrollView** * Created by Administrator on 2018/3/15. * 下拉上滑显示与隐藏导航栏和状态栏 */public class FadingScrollView extends ScrollView { private static String TAG = "-----------FadingScrollVie...
2018-06-06 13:35:55
3126
原创 安卓技术文章集合—184篇文章分类汇总
View篇:UI特效之酷炫抢红包金币下落动画 http://mp.weixin.qq.com/s?__biz=MzI3OTU0MzI4MQ==&mid=2247484357&idx=1&sn=f8f5b945d8f877a7f4fdbc99e7b4f61e&chksm=eb476f5bdc30e64d6e4bbe8aa73e2d50b9641fe6f2e1806b722c57b5bb6011d94
2017-12-12 18:22:04
4318
原创 Android 自定义View合集
自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/Mr-XiaoLiang 自定义控件三部曲 http://blog.youkuaiyun.com/harvic880925?viewmode=contents Android 从0开始自定义控件
2017-12-12 16:04:28
452
原创 如何解决编译时Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.Execu
2017-10-14 10:02:12
1448
原创 Android四大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比
四大图片缓存基本信息Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用。Picasso 是 Square 开源的项目,且他的主导者是 JakeWharton,所以广为人知。Glide 是 Google 员工的开源项目,被一些 Google App 使用,在去年的 Google I/O 上被推荐,不过目前国内资料不多。Fresco 是 Facebook 在今年上半年
2017-09-05 14:35:36
618
原创 GreenDao数据库框架的使用
greenDAO 可以将我们数据库的中数据转换为相应的对象,这样可以省去我们自己去转换对象的时间。和同类型的库相比,性能是最好的。(官网如是说)主流同类型库的条形对比图如下图。greenDAO 也是当前 Android 开发中比较流行的库。使用 SQL 语句进行查询容易出错,而且错误比较难以发现,使用 greenDAO 的话可以在编译阶段就发现错误。(官网说的)还有就是代码比较简单明了,程序
2017-08-31 15:39:22
372
原创 TabLayout简单的使用
效果图:项目结构图:代码的实现:1.在应用的build.gradle中添加support:design支持库compile 'com.android.support:design:25.0.0'2.在xml文件里添加布局TabLayout和ViewPager<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="
2017-08-03 15:56:19
431
原创 底层菜单FragmentTabHost
用FragmentTabHost实现底层菜单切换Fragment的效果: 先来看看效果图: 实现代码: 首先写2个Fragmnet XML代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro
2017-08-03 15:29:00
257
原创 图片选择器photopicker框架
第一步:build.gradle中添加依赖compile 'com.foamtrace:photopicker:1.0'第二步:配置信息1.清单文件中添加权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.per
2017-07-07 11:52:14
6566
2
原创 TextInputLayout和AppCompatButton简单用法
2015 I/O大会谷歌推出了 Android Design Support Library,所以就更新下来看了看。从最简单的开始写吧,来看TextInputLayout,为什么要使用TextInputLayout,这个控件用于在多个输入框时,用户可能忘记hint内容,这个时候hint提醒就会在上方显示,也能用于判断,界面挺美的。AppCompatButton安卓5.0开始引入的全新设计Materi
2017-07-05 09:42:33
5167
原创 Android ImageSlider广告轮播框架
AndroidImageSlide是第三方开源框架,能够实现广告自动轮播功能。 在AS中的使用: 1.在build文件中进行配置 compile 'com.squareup.picasso:picasso:2.3.2' compile 'com.nineoldandroids:library:2.4.0' compile 'com.daimajia.slider:l
2017-06-30 14:49:08
571
原创 Vitamio视频播放器
将Vitamio的视频控制器界面进行自定义,支持视频亮度、音量的调节、全屏显示。 注意:sdk版本必须21以上(不包括21)效果图: 在做的这个demo中主要功能: 1.改变屏幕亮度 2.改变音量大小 3.改变视频尺寸 4.改变进度使用步骤:1.添加库文件 vitamio官网:https://www.vitamio.org vitamio SDK地址:https://github.c
2017-06-30 11:53:13
821
原创 Android 录音和播放录音
清单文件中的权限:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>//SD卡存储的权限 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission an
2017-06-12 15:16:40
799
原创 PullToRefresh下拉刷新框架
框架框架下载地址:https://github.com/chrisbanes/Android-PullToRefresh首先把下载好的library依赖包,和项目添加依赖XML布局代码:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.a
2017-06-12 09:34:08
458
原创 DrawerLayout抽屉基本用法
DrawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。drawerLay
2017-06-09 10:04:03
573
原创 安卓布局动画
Android动画之布局动画布局动画是针对于ViewGroup使用的,这里用ListView来实现了布局动画的效果。MainActivity代码:public class MainActivity extends ActionBarActivity { ArrayList<String> list=new ArrayList<String>(); @Override prot
2017-06-08 16:55:24
342
原创 调用系统相册和相机
MainActivity 代码:public class MainActivity extends Activity implements OnClickListener { public final static int ALBUM_REQUEST_CODE = 1;//相册的返回码 public final static int CAMERA_REQUEST_CODE = 3;/
2017-06-07 16:29:11
294
原创 Android自定义圆形图片
public class RoundBitmapUtils { public static Bitmap getBitmap(Bitmap bitmap){ //依据原有图片,重新创建一张新的图片,图片格式发生变化:ARGB-444 Bitmap b = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeig
2017-06-05 16:07:23
399
原创 SlidingMenu侧滑剩余的位置添加阴影淡入淡出
在SlidingMenu添加一个设置透明度方法public void setOffsetFadeDegree(float f) { mViewBehind.setOffsetFadeDegree(f); }CustomViewBehind 添加变量和方法private float mOffsetFadeDegree;public void setOffsetFadeDegr
2017-06-01 11:33:50
903
1
原创 SlidingMenu侧拉抽屉框架
首先要引入SlidingMenu的库文件的类库,不能直接导入jar包。然后 Activity继承SlidingFragmentActivity。public class SlidingMenuActivity extends SlidingFragmentActivity{ @Override public void onCreate(Bundle savedInstanceStat
2017-05-31 15:20:16
434
原创 安卓4大组件之一服务Service
Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态。(比如听音乐,退出程序英语需要继续播放。数据定期更新都需要服务来实现)基本用法: 服务是4打组件之一必须在清单文件中注册:<service android:na
2017-05-26 08:48:25
381
原创 RecyclerView添加下拉刷新和上拉加载更多
在google的android.support.v4包中,提供一个SwipeRefreshLayout方法, 用于实现下拉刷新。在主布局中的文件:加入以下代码:<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/layout_swipe_refresh" android:layout_width="match_
2017-05-22 09:06:31
558
原创 WebView获取网页
XML文件:<WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/webview"/>Activity里调用:WebView webView = (WebView) findViewById(R.id.web
2017-05-11 10:07:21
591
原创 Android RecyclerView
RecyclerView通过导入support-v7对其进行使用。 该控件用于在有限的窗口中展示大量数据集,例如:ListView、GridView。 RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。你想要控制其显示的方式,请通过布局管理器L
2017-05-10 09:06:05
485
原创 android 使用内容提供者获取手机联系人
直接上代码:清单文件中的权限: //读联系人的权限 <uses-permission android:name="android.permission.READ_CONTACTS" /> //写联系人的权限 <uses-permission android:name="android.permission.WRITE_CONTACTS" />获取联系人代码:privat
2017-05-09 11:03:07
969
原创 [Android] SharedPreferences(轻量级的存储方式)
本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。 其存储位置在/data/data/<包名>/shared_prefs目录下。 SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。 实现步骤如下: 一、根据Context获取SharedPreferences对象二、利用edit()方法获取Ed
2017-05-09 09:48:06
348
原创 内容提供者---ContentProvider
她是用来为其他应用程序暴露数据,并且提供数据操作方法的一个类,就比如说是手机自带的通讯录,短信等这些应用都用contentprovider暴漏了。 需要用到一个UriMatcher,他是帮助contentprovider解析uri的,uri是统一资源标识符,就是类似网址一样的东西。1怎么创建内容提供者1.1创建一个类(类名最好是以Provider结尾)继承ContentProviderpublic
2017-04-27 09:12:12
446
原创 安卓SQLite数据库
首先创建一个数据库类:public class MySqliteOpenHelper extends SQLiteOpenHelper { public MySqliteOpenHelper(Context context) { /* * database * context上下文 * name 你创建的数据库的名字
2017-04-26 08:47:32
367
原创 Android广播机制
1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下: 1.同一app内部的同一组件内的消息通信(单个或多个线程之间); 2.同一app内部的不同组件之间的消息通信(单个进程); 3.同一app具有多个进程的不同组件之间的消
2017-04-25 09:39:30
339
原创 Android中退出多个Activity的两个经典方法
一种把每个activity用集合记住,然后逐一干掉;另一种思路是使用广播。方法一、用list保存activity实例,然后逐一干掉创建一个外部类继承Application用来存放activitypublic class MyActvity extends Application { //创建一个集合,用来存放activity的对象 ArrayList<Activity>list=ne
2017-04-20 08:48:38
2577
1
原创 Activity跳转切换动画
MainActivity 代码:public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l
2017-04-19 11:26:10
352
原创 ScrollView嵌套ListView解决方案
ScrollView嵌套ListView条目显示不全的解决方案:(自定义一个ListView,onMeasure方法把所以的条目全部显示出来)@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int i = MeasureSpec.makeMeas
2017-04-17 14:05:40
361
原创 ViewPager图片自动轮播
public class MainActivity extends Activity { private ViewPager pager; private ImageView mDian1, mDian2, mDian3, mDian4, img; private List<View> list = new ArrayList<View>(); private int
2017-04-17 09:33:07
250
原创 Fragment和ViewPager嵌套使用
MainActivity代码:public class MainActivity extends FragmentActivity implements OnClickListener, OnPageChangeListener{ private List<Fragment> list=new ArrayList<Fragment>(); private FragmentManage
2017-04-13 20:19:22
289
原创 Android Fragment完全解析
为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像Activity一样包含布局。Fragment通常是嵌套在Activity中使用的,现在想象这种场景:有两个Fragment,Fragment 1包含了一个ListView,每行显示一本书的标题。Fragment 2包含了TextView和ImageView,来显示书的
2017-04-13 08:55:54
319
原创 Android PopupWindow的使用
PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个控件(Anchor锚)和相对于父控件。具体如下showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移showAsDropD
2017-04-12 09:34:10
289
原创 Android对话框AlertDialog.Builder使用方法
一个最简单的应用,就是弹出一个消息框,在android中可以这样实现new AlertDialog.Builder(this).setTitle("标题") .setMessage("简单消息框").setPositiveButton("确定", null).show();效果如下: 上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置
2017-04-12 09:08:22
17232
原创 ListView多布局展示
实现代码 Adapter的代码 其中:ViewHolder分别是三个不同的布局,也就是ListView中每一项的布局 TYPE_1…是几种类型. 在使用不同布局的时候,getItemViewType和getViewTypeCount不能少,一般的同一种item的列表是不用这两个函数的重载的,但是如果需要不同种类的item,就必须重载这两个public class MainActivity e
2017-04-11 16:27:01
494
原创 Android图片压缩
多种压缩方式常用的有尺寸压缩、质量压缩以及通过JNI调用libjpeg库来进行压缩,三种方式结合使用实现指定图片内存大小,清晰度达到最优,下面就先分别介绍下这几种压缩方式。1. 质量压缩设置bitmap options属性,降低图片的质量,像素不会减少 第一个参数为需要压缩的bitmap图片对象,第二个参数为压缩后图片保存的位置 设置options 属性0-100,来实现压缩public sta
2017-04-11 11:38:24
251
原创 ViewPager图片自动轮播
一、新建项目,引入ViewPager控件ViewPager。它是google SDk中自带的一个附加包的一个类,可以用来实现屏幕间的切换。1.在主布局文件里加入<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/to
2017-04-06 19:09:11
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人