自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Fragment 中使用 SwipeRefreshLayout 导致的不能退出问题

之前做项目的时候,发现在 Fragment 中使用 SwipeRefreshLayout 会有一个问题,就是当 SwipeRefreshLayout 正在刷新的时候如果切换 Fragment ,会导致当前 Fragment 的界面保留在 Activity 中的相应位置上,切换到其他的 Fragment 会和之前的 Fragment 重合,并且 SwipeRefreshLayout 会一直处于刷新状

2017-07-04 01:10:35 1597 1

原创 自定义 DialogFragment 实现底部弹出 dialog

前端时间公司做的项目要求和 iOS 版本的 UI 风格保持高度的一致,虽然我个人及其排斥这种仿 iOS 的 UI,然而人在屋檐下,不得不出卖自己的节操。其中就有一个底部弹出 dialog 的效果,宽度还是全屏的,就项这个样子(其实这张图就是我最终实现的效果):于是乎百度 google 了一番,居然没有找到用 DialogFragment 实现的类似的效果,网上大多实现类

2017-06-13 15:44:16 7049

原创 用单例封装 SharedPreferences

自己封装的 SharedPreferences,很简单的封装,直接上代码public class SPManager { private static final String ACCOUNT = "account"; private static final String PASSWORD = "password"; private st

2017-05-24 19:01:48 771

原创 DrawerLayout 在 Android 4.4 和 Android 5.0 以上实现沉浸状态栏和导航栏的方法

DrawerLayout 在实现沉浸状态栏的方法相对复杂,尤其在 Android 4.4 和 Android 5.0 以上的实现方法区别很大,本人在通过一段时间的研究,总结出比较完美的实现方法,现在这里分享。首先需要针对 Android 5.0 以上和一下设置不同的 style,如图所示:style的内容分别是:value:

2017-03-15 21:03:38 2148 1

原创 自定义 AlertDialog 主题的方法

由于 AlertDialog 不需要在 Manifests 中注册,所以无法再 Manifests 文件中定义起主题,那么该如何自定义 AlertDialog 的主题呢,事实上可以在创建 AlertDialog 的时候指定它的主题:AlertDialog dialog = new AlertDialog.Builder(new ContextThemeWrapper(context,

2017-02-20 15:48:18 955

原创 修改 AlertDialog 中按钮颜色的方法

AlertDialog dialog = builder.create();dialog.getButton(dialog.BUTTON_POSITIVE).setTextColor(Color.BLACK);dialog.getButton(dialog.BUTTON_NEGATIVE).setTextColor(Color.BLACK);dialog.setCanceledOnTouch

2017-02-17 17:29:08 7945

原创 自定义 LinearLayout 实现类似 CoordinatorLayout 的效果

前段时间公司要求实现类似小米的时钟的闹钟列表可以上滑下滑的效果,我当时的第一反应就是使用 CoordinatorLayout ,但后来使用发现一些问题,CoordinatorLayout 收缩的时候必须是一个 ToolBar ,而小米的时钟收缩上去是一个数字时钟,无奈之下只好自己重写。经过大量的 google 百度,我了解到 NestedScrollingParent 和 Nested

2016-12-16 17:51:32 1261 1

原创 自定义 View 实现秒表功能

一般计时类的自定义 View 都要考虑一个问题,那就是绘制是需要时间的,虽然很短,但是随着时间的推移,误差就会越来越大,我之前写过自定义 View 实现钟表功能的博客,当时是通过每秒钟获取一次系统时间,然后根据系统时间重新绘制来保证不会产生误差的,如果要实现秒表功能,这个方法明显不行,应为秒表是自己计时的,和系统时间没有关系,为了防止产生误差,我们可以每秒钟都执行一次动画,一秒钟过完之后,无论动画

2016-12-16 16:58:22 1440 2

原创 自定义 View 实现钟表效果

简单的自定义 view 实例

2016-12-02 18:11:37 546

原创 MediaPlayer 播放铃声的方法汇总

MeidaPlayer 的基本使用方法

2016-11-28 16:40:54 2336

原创 Android 开启闪光灯比较完美的兼容方案

Android 系统中,开启闪光灯,经常会遇到不同的手机出现不兼容的问题,下面的开启闪光灯方案相对来说兼容性比较高:

2016-11-28 15:27:17 2706

原创 Activity 冷启动预加载显示背景的方法

给 Activity 的主题添加一个 android:windowBackground 属性即可 @drawable/loading<activity android:name=".ui.MainActivity" android:launchMode="singleTask" android:screenOrientation="portrait

2016-11-23 17:43:11 3838 1

原创 解决ScrollView与RecyclerView/ListView滑动冲突的两种方法

方法一:把RecyclerView / ListView 写在单独的一个 layout 文件中,然后通过 LayoutInflater.from().inflate() 方法添加到父布局中RecyclerView view = LayoutInflater.from(context).inflater(R.layout.recycler_view, father_layout);

2016-11-21 17:48:10 2363

原创 AlarmManager的正确使用姿势

AlarmManager 这个类在 Android 开发中非常实用,它是系统及服务,可以进行定时操作而不依赖于 Acitivity 或 Service,但是 Android 在不同的 API 级别中有一定的差异性,往往给开发带来一定的困难,这里将举例说明 AlarmManager 在不同 API 级别中的基本使用方法。在 Android 4.4 之前,一般都是使用 alarmManag

2016-11-20 19:39:03 8300 3

转载 如何获取Android系统时间是24小时制还是12小时制

ContentResolver cv = this.getContentResolver();String strTimeFormat = android.provider.Settings.System.getString(cv, android.provider.Settings.System.TIME_12_24);

2016-11-08 21:54:42 911

原创 让DialogFragment全屏的方法

重写DialogFragment 的onStart()方法: @Override public void onStart() { super.onStart(); getDialog().getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.Layo

2016-11-02 19:07:12 556

原创 使用Fragment代替Activity

activity_fragment:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_container" android:layout_width="match_parent" android:layout_hei

2016-10-28 00:05:42 1791 3

原创 论单例模式在Andriod开发中的实用性

Android开发中何时该使用单例模式呢

2016-10-14 23:55:17 333

原创 通过Intent传递对象的另类方法

我们都知道,通过Intent在Activity之间传递对象一般有两种方法,Serializable和Parcelable,那有没有其他的方法呢?事实上本人发现一个非常简单的方法,分享出来,请大家不吝赐教。

2016-10-14 23:35:30 404

原创 Bitmap和Drawable互相转换的方法

public class ImageUtils { public static Bitmap drawable2Bitmap(Drawable drawable) { return ((BitmapDrawable) drawable).getBitmap(); } public static Drawable bitmap2Drawable(Contex

2016-10-14 18:05:52 726

原创 使用Toolbar和DrawerLayout实现酷炫的侧滑动画效果

activity_main.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-aut

2016-10-11 18:44:35 1074

原创 半透明效果的Activity

要实现半透明效果的Activity很简单,只要把Activity的主题中的android:windowBackground设置为半透明的背景色,并且把android:windowIsTranslucent设置为true即可,即: @color/systemSetupBackground true @android:style/Animation.Activity

2016-10-10 18:00:29 533

原创 TabLayout + ViewPager实现标签栏效果

首先在布局文件中添加TabLayout:<android.support.design.widget.TabLayout android:id="@+id/ivy_module_widget_shop_tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content

2016-10-09 18:17:08 635

转载 dp和px互相转换的方法

2016-09-19 18:58:08 403

原创 监听App的安装和卸载

Android系统中,当应用程序安装和卸载的时候都会发送相应的广播,定义一个 BroadcastReceiver 来接收相应的广播,即可监听应用的安装和卸载:<receiver android:name=".MyReceiver" android:enabled="true" android:exported="true">

2016-09-08 18:11:49 2401 3

原创 获取其他App中资源的方法

有时我们需要在当前的应用中获取到其他应用中的资源,例如有的应用具有换肤功能,可以额外安装皮肤包,这样一来,我们就需要从皮肤包中提取相应的资源文件,获取的方法如下所示:try { String remotePackage = "com.xxx.themepackage"; Context remoteContext = createPackageContext(remot

2016-09-06 19:50:21 1284

原创 Android 6.0 中TimePicker显示为滚动样式的方法

Android 6.0 中TimePicker显示为滚动样式的方法

2016-09-05 19:17:05 6942

原创 找出设备中指定的所有应用的方法

在Android的开发过程中,有时候可能需要找出设备中所有的指定的某一类应用,如有的可以换皮肤的应用,我们需要在皮肤的商店里找出本地所下载的所有的皮肤,每个皮肤都是一个APP,本篇博客讲讨论如何找出设别中指定的某一类所有的App要找出指定的App,首先我们要在写这个App的时候给它添加一个识别的标记,这里可以在该App的任意一个Activity中添加一个自定义的Action,如:<

2016-09-01 19:09:06 520

原创 RecyclerView中使用CheckBox出现勾选混乱的解决方案

RecyclerView的复用机制导致添加CheckBox会出现问题,目前网上没有什么好的解决方案,这篇博客将彻底解决这个问题

2016-08-28 18:24:24 7343 1

原创 Android4.2使用TextClock出现"HH:00"的问题的解决方案

TextClock在Android4.2设备上实现会有bug,这篇博客提供了完美的结局方案

2016-08-28 18:02:08 2124 1

原创 实现时间Widget自动更新

很简单的功能,废话不多说,直接上代码:AndroidMainfest.xml:xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ivy.mytest"> <application

2016-08-22 19:08:01 1399

原创 ActionBar和ToolBar显示返回箭头的方法

ActionBar:ActionBar有两种方法:1.在Androidmanifest 中:<activity android:name=".XXActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY"

2016-07-31 18:44:30 2662

空空如也

空空如也

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

TA关注的人

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