- 博客(32)
- 收藏
- 关注
原创 Fragment 中使用 SwipeRefreshLayout 导致的不能退出问题
之前做项目的时候,发现在 Fragment 中使用 SwipeRefreshLayout 会有一个问题,就是当 SwipeRefreshLayout 正在刷新的时候如果切换 Fragment ,会导致当前 Fragment 的界面保留在 Activity 中的相应位置上,切换到其他的 Fragment 会和之前的 Fragment 重合,并且 SwipeRefreshLayout 会一直处于刷新状
2017-07-04 01:10:35 1598 1
原创 自定义 DialogFragment 实现底部弹出 dialog
前端时间公司做的项目要求和 iOS 版本的 UI 风格保持高度的一致,虽然我个人及其排斥这种仿 iOS 的 UI,然而人在屋檐下,不得不出卖自己的节操。其中就有一个底部弹出 dialog 的效果,宽度还是全屏的,就项这个样子(其实这张图就是我最终实现的效果):于是乎百度 google 了一番,居然没有找到用 DialogFragment 实现的类似的效果,网上大多实现类
2017-06-13 15:44:16 7057
原创 用单例封装 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 772
原创 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 2150 1
原创 自定义 AlertDialog 主题的方法
由于 AlertDialog 不需要在 Manifests 中注册,所以无法再 Manifests 文件中定义起主题,那么该如何自定义 AlertDialog 的主题呢,事实上可以在创建 AlertDialog 的时候指定它的主题:AlertDialog dialog = new AlertDialog.Builder(new ContextThemeWrapper(context,
2017-02-20 15:48:18 956
原创 修改 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 7946
原创 自定义 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
原创 Android 开启闪光灯比较完美的兼容方案
Android 系统中,开启闪光灯,经常会遇到不同的手机出现不兼容的问题,下面的开启闪光灯方案相对来说兼容性比较高:
2016-11-28 15:27:17 2708
原创 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 8305 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 912
原创 让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 1793 3
原创 通过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 728
原创 使用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
原创 监听App的安装和卸载
Android系统中,当应用程序安装和卸载的时候都会发送相应的广播,定义一个 BroadcastReceiver 来接收相应的广播,即可监听应用的安装和卸载:<receiver android:name=".MyReceiver" android:enabled="true" android:exported="true">
2016-09-08 18:11:49 2402 3
原创 获取其他App中资源的方法
有时我们需要在当前的应用中获取到其他应用中的资源,例如有的应用具有换肤功能,可以额外安装皮肤包,这样一来,我们就需要从皮肤包中提取相应的资源文件,获取的方法如下所示:try { String remotePackage = "com.xxx.themepackage"; Context remoteContext = createPackageContext(remot
2016-09-06 19:50:21 1284
原创 找出设备中指定的所有应用的方法
在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 7344 1
原创 Android4.2使用TextClock出现"HH:00"的问题的解决方案
TextClock在Android4.2设备上实现会有bug,这篇博客提供了完美的结局方案
2016-08-28 18:02:08 2128 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 1400
原创 ActionBar和ToolBar显示返回箭头的方法
ActionBar:ActionBar有两种方法:1.在Androidmanifest 中:<activity android:name=".XXActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY"
2016-07-31 18:44:30 2663
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人