自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

龙杰的博客

大家好,欢迎大家浏览我的博客

  • 博客(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 3037

原创 安卓技术文章集合—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 4026

原创 Android 自定义View合集

自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/Mr-XiaoLiang 自定义控件三部曲 http://blog.csdn.net/harvic880925?viewmode=contents Android 从0开始自定义控件

2017-12-12 16:04:28 388

原创 如何解决编译时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 1332

原创 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 563

原创 GreenDao数据库框架的使用

greenDAO 可以将我们数据库的中数据转换为相应的对象,这样可以省去我们自己去转换对象的时间。和同类型的库相比,性能是最好的。(官网如是说)主流同类型库的条形对比图如下图。greenDAO 也是当前 Android 开发中比较流行的库。使用 SQL 语句进行查询容易出错,而且错误比较难以发现,使用 greenDAO 的话可以在编译阶段就发现错误。(官网说的)还有就是代码比较简单明了,程序

2017-08-31 15:39:22 334

原创 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 400

原创 底层菜单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 228

原创 图片选择器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 6444 8

原创 TextInputLayout和AppCompatButton简单用法

2015 I/O大会谷歌推出了 Android Design Support Library,所以就更新下来看了看。从最简单的开始写吧,来看TextInputLayout,为什么要使用TextInputLayout,这个控件用于在多个输入框时,用户可能忘记hint内容,这个时候hint提醒就会在上方显示,也能用于判断,界面挺美的。AppCompatButton安卓5.0开始引入的全新设计Materi

2017-07-05 09:42:33 5048

原创 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 528

原创 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 771

原创 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 756

原创 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 431

原创 DrawerLayout抽屉基本用法

DrawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。drawerLay

2017-06-09 10:04:03 548

原创 安卓布局动画

Android动画之布局动画布局动画是针对于ViewGroup使用的,这里用ListView来实现了布局动画的效果。MainActivity代码:public class MainActivity extends ActionBarActivity { ArrayList<String> list=new ArrayList<String>(); @Override prot

2017-06-08 16:55:24 315

原创 调用系统相册和相机

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 267

原创 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 371

原创 SlidingMenu侧滑剩余的位置添加阴影淡入淡出

在SlidingMenu添加一个设置透明度方法public void setOffsetFadeDegree(float f) { mViewBehind.setOffsetFadeDegree(f); }CustomViewBehind 添加变量和方法private float mOffsetFadeDegree;public void setOffsetFadeDegr

2017-06-01 11:33:50 842 6

原创 SlidingMenu侧拉抽屉框架

首先要引入SlidingMenu的库文件的类库,不能直接导入jar包。然后 Activity继承SlidingFragmentActivity。public class SlidingMenuActivity extends SlidingFragmentActivity{ @Override public void onCreate(Bundle savedInstanceStat

2017-05-31 15:20:16 399

原创 安卓4大组件之一服务Service

Service作为Android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态。(比如听音乐,退出程序英语需要继续播放。数据定期更新都需要服务来实现)基本用法: 服务是4打组件之一必须在清单文件中注册:<service android:na

2017-05-26 08:48:25 349

原创 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 532

原创 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 529

原创 Android RecyclerView

RecyclerView通过导入support-v7对其进行使用。 该控件用于在有限的窗口中展示大量数据集,例如:ListView、GridView。 RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。你想要控制其显示的方式,请通过布局管理器L

2017-05-10 09:06:05 406

原创 android 使用内容提供者获取手机联系人

直接上代码:清单文件中的权限: //读联系人的权限 <uses-permission android:name="android.permission.READ_CONTACTS" /> //写联系人的权限 <uses-permission android:name="android.permission.WRITE_CONTACTS" />获取联系人代码:privat

2017-05-09 11:03:07 933

原创 [Android] SharedPreferences(轻量级的存储方式)

本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。 其存储位置在/data/data/<包名>/shared_prefs目录下。 SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。 实现步骤如下: 一、根据Context获取SharedPreferences对象二、利用edit()方法获取Ed

2017-05-09 09:48:06 317

原创 内容提供者---ContentProvider

她是用来为其他应用程序暴露数据,并且提供数据操作方法的一个类,就比如说是手机自带的通讯录,短信等这些应用都用contentprovider暴漏了。 需要用到一个UriMatcher,他是帮助contentprovider解析uri的,uri是统一资源标识符,就是类似网址一样的东西。1怎么创建内容提供者1.1创建一个类(类名最好是以Provider结尾)继承ContentProviderpublic

2017-04-27 09:12:12 406

原创 安卓SQLite数据库

首先创建一个数据库类:public class MySqliteOpenHelper extends SQLiteOpenHelper { public MySqliteOpenHelper(Context context) { /* * database * context上下文 * name 你创建的数据库的名字

2017-04-26 08:47:32 332

原创 Android广播机制

1.Android广播机制概述Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用的场景如下: 1.同一app内部的同一组件内的消息通信(单个或多个线程之间); 2.同一app内部的不同组件之间的消息通信(单个进程); 3.同一app具有多个进程的不同组件之间的消

2017-04-25 09:39:30 292

原创 Android中退出多个Activity的两个经典方法

一种把每个activity用集合记住,然后逐一干掉;另一种思路是使用广播。方法一、用list保存activity实例,然后逐一干掉创建一个外部类继承Application用来存放activitypublic class MyActvity extends Application { //创建一个集合,用来存放activity的对象 ArrayList<Activity>list=ne

2017-04-20 08:48:38 2497 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 321

原创 ScrollView嵌套ListView解决方案

ScrollView嵌套ListView条目显示不全的解决方案:(自定义一个ListView,onMeasure方法把所以的条目全部显示出来)@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int i = MeasureSpec.makeMeas

2017-04-17 14:05:40 321

原创 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 226

原创 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 250

原创 Android Fragment完全解析

为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像Activity一样包含布局。Fragment通常是嵌套在Activity中使用的,现在想象这种场景:有两个Fragment,Fragment 1包含了一个ListView,每行显示一本书的标题。Fragment 2包含了TextView和ImageView,来显示书的

2017-04-13 08:55:54 299

原创 Android PopupWindow的使用

PopupWindow这个类用来实现一个弹出框,可以使用任意布局的View作为其内容,这个弹出框是悬浮在当前activity之上的。PopupWindow的位置按照有无偏移分,可以分为偏移和无偏移两种;按照参照物的不同,可以分为相对于某个控件(Anchor锚)和相对于父控件。具体如下showAsDropDown(View anchor):相对某个控件的位置(正左下方),无偏移showAsDropD

2017-04-12 09:34:10 261

原创 Android对话框AlertDialog.Builder使用方法

一个最简单的应用,就是弹出一个消息框,在android中可以这样实现new AlertDialog.Builder(this).setTitle("标题") .setMessage("简单消息框").setPositiveButton("确定", null).show();效果如下: 上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置

2017-04-12 09:08:22 16619

原创 ListView多布局展示

实现代码 Adapter的代码 其中:ViewHolder分别是三个不同的布局,也就是ListView中每一项的布局 TYPE_1…是几种类型. 在使用不同布局的时候,getItemViewType和getViewTypeCount不能少,一般的同一种item的列表是不用这两个函数的重载的,但是如果需要不同种类的item,就必须重载这两个public class MainActivity e

2017-04-11 16:27:01 462

原创 Android图片压缩

多种压缩方式常用的有尺寸压缩、质量压缩以及通过JNI调用libjpeg库来进行压缩,三种方式结合使用实现指定图片内存大小,清晰度达到最优,下面就先分别介绍下这几种压缩方式。1. 质量压缩设置bitmap options属性,降低图片的质量,像素不会减少 第一个参数为需要压缩的bitmap图片对象,第二个参数为压缩后图片保存的位置 设置options 属性0-100,来实现压缩public sta

2017-04-11 11:38:24 231

原创 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 252

空空如也

空空如也

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

TA关注的人

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