自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 android动画资源重命名

@echo offsetlocal enabledelayedexpansionset n=1for /f %%i in ('dir /b *.png') do (ren "%%i" home_space_entry_animation!n!.pngset /a n+=1)echo 批量重命名完成!pause艹,动画太蛋疼了,这些搞动画的肯定没做过移动app...

2020-04-14 16:28:11 161

原创 集合排序的方法

/** * 消息重新排序, * 按照msgID,由小到大的顺序 * 聊天窗口适用的排序方式 */ class MessageSort : Comparator<Message> { override fun compare(msg1: Message, msg2: Message): Int { ...

2020-02-28 16:18:47 139

原创 viewPager指示器滑动效果

override fun onPageSelected(pos: Int) { currentPagerItem = pos var selectedColor = ContextCompat.getColor(baseActivity, R.color.home_pager_text_selected) var unselectedColor...

2020-02-28 14:11:32 218

原创 新手引导的实现

/** * 首页的新手引导 */ private fun checkShowUserGuide() { if (!PreferencesUtil.homeNewUserGuideHasShow) { home_avatar_parent.postDelayed ({ home_avatar...

2019-10-26 16:06:16 232

原创 实现viewPager滑动翻页的指示器效果及动画

实现viewPager指示器和滑动效果,效果如下:技术点:1、整个按钮区域用RadioGroup,实现单选效果2、RadioGroup里放两个LinearLayout,分别显示pager1和pager2的按钮3、LinearLayout里垂直布局,放radioButton,显示图片。底部一个view,显示标签。如果view需要圆角,就用cardView包裹vie...

2019-08-30 15:13:37 734

原创 android webView使用

首先定义界面的activity_browser_layout.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent...

2019-08-28 11:26:41 168

转载 软键盘显示发送按钮,支持多行

editText.imeOptions = EditorInfo.IME_ACTION_SENDeditText.inputType = TYPE_TEXT_FLAG_MULTI_LINEeditText.setSingleLine(false)editText.maxLines = 40editText.setOnEditorActionListener { v, actionId, ...

2019-08-26 17:42:21 682

原创 解决recycleView+scrollView导致recycleView缓存复用失效,和无论怎么滑动firstVIsiablePosition都是返回0的问题

如果页面界面的xml里包含两个recycleView和一个scrollView,root是一个scrollView包含一个垂直的LinearLayout,里面是一个横向的recycleView1,和一个纵向的recycleView2。(布局代码如下)会导致两个问题:1是recycleView的多级缓存复用机制失效,recycleView2会一直是渲染count个item,会导致性能差。...

2019-08-26 14:43:09 1175

原创 room使用TypeConverter转换复杂类型或者转换数组的时候,数据库crash

/** * user中的photos字段转换 */open class UserPhotoConverters { @TypeConverter fun stringToObject(value: String): List<String> { val listType = object : TypeToken<List<String...

2019-08-26 14:30:07 3507

原创 解决viewPager和recycleView的滑动冲突

viewPager里包含横向的recycleView时,横向滑动recycleView会导致viewPager翻页,解决办法是/** * zivon * 解决viewPager和recycleView的滑动冲突 */class NestedRecyclerView(context: Context, attrs: AttributeSet?) : RecyclerView(conte...

2019-08-26 14:23:26 1887

原创 navigation的baseFragment监控软键盘back键

requireActivity().onBackPressedDispatcher.addCallback(this) { onBackPressed()}

2019-08-26 14:18:15 291

转载 scrollview recyclerview 自动上滑

scrollview recyclerview 自动上滑今天天气很好我心情也很好2018.04.19 16:47 字数 44 阅读 235评论 0喜欢 0scrollView自动上滑,什么鬼。吓我一跳。1,位scrollview 加入:android:descendantFocusability="blocksDescendants"2,为scrollView中的跟vie...

2019-08-24 19:31:07 282

原创 使用Parcelable序列化数据

使用Parcelable序列化数据,1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable。2)Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。public class MediaPreviewInfo implements Parcelable { public static final int M

2017-05-26 17:47:26 728

转载 android:descendantFocusability用法简析

android:descendantFocusability用法简析    开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageB

2014-11-13 15:19:54 577

转载 大端、小端、网络字节序

大端、小端、网络字节序 一、大端、小端"大端"和"小端"表示多字节值的哪一端存储在该值的起始地址处;小端存储在起始地址处,即是小端字节序;大端存储在起始地址处,即是大端字节序;或者说:1.小端法(Little-Endian)就是低位字节排放在内存的低地址端(即该值的起始地址),高位字节排放在内存的高地址端;2.大端法(Big-Endian)就是高位字节排放在内存的低地址

2014-11-04 11:00:03 713

原创 android获取图片的旋转角度

public static int getExifOrientation(String filepath) { int degree = 0; ExifInterface exif = null; try { exif = new ExifInterface(filepath); } catch (IOException ex) { Log

2014-08-20 21:20:48 11785 2

原创 TextWatcher引起activity内存泄露的问题

TextWatcher会引起activity内存泄露。EditText设置了addTextChangedListener的界面,要在onDestroy里调用removeTextChangedListener释放掉。

2014-06-18 17:18:03 3389

原创 ListView无障碍识别整个listView,不识别item,设置了setContentDescription也没有用

点击ListView的时候,无障碍识别到的是整个listView,不会读点击的那个item。解决办法是在getView里手动设置:convertView.setFocusable(true);convertView.setFocusableInTouchMode(true);这样就会读item里的值

2014-06-18 17:12:28 4631

原创 android string.xml里的空格字符

在string.xml定义字符串的时候经常要用到空格, 直接用键盘敲的话不知道是几个空格,经常看错了,导致误删。如果用 来替代空格的话,就好很多。另外使用%1$s,%1$d可以在一个字符串里定义多个统配字符。

2014-06-14 16:27:44 42913

原创 解决scrollView中嵌套编辑框导致不能上下滑动的问题

EditText设置maxLines之后,文本行数超过maxLines,会网上折叠,上下滑动可以浏览所有文本。若EditText外层有scrollView,在EditText上下滑动,不会像正常情况那样上,只会滑动了scrollView。解决办法是:mEt_content.setOnTouchListener(this); // 解决scrollView中嵌套EditText导致不

2014-06-13 13:45:30 10325 1

原创 View2紧跟view1,并且不被view1挤出屏幕

android:layout_width="match_parent"    android:layout_height="wrap_content"    android:gravity="center_vertical"    android:orientation="horizontal" >            android:layout_width="wrap

2014-06-05 17:56:03 3944 2

转载 alwaysRetainTaskState笔记

1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“true”表示可以移动,“false”表示它必须呆在当前应用的task中,默认值为false。如果一个这个Activity的元素没有设定此属性,设定在上的此属性会对此Activity起作用。例如在一个应用中

2014-02-27 18:40:44 17287 2

转载 Java上的try catch并不影响性能(转)

最近因为担心自己开发的库不稳定,会影响到接入产品的正常运行,在代码的不少地方都加了一层try catch,主要是为了避免自己的一些异常抛出导致,应用crash,捕获的异常也并没有做什么特别的处理,只是在log中输出该异常的信息。try catch多了后,就开始担心会不会影响性能,以前学C或C++的时候好像曾经被警告过要尽量少使用try catch,好像是在压栈的时候会更消耗神马的,其实说真的并没有

2013-12-26 15:49:49 23910 6

原创 判断一个Bitmap图像是否是.9图

见BitmapFactory的源码中byte[] np = bm.getNinePatchChunk(); final boolean isNinePatch = np != null && NinePatch.isNinePatchChunk(np);

2013-07-11 10:13:18 2808

原创 启动文件选取的按钮

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);        intent.addCategory(Intent.CATEGORY_OPENABLE);        intent.setType("image/*");        startActivityForResult(Intent.createChooser(i

2013-07-09 19:09:02 775

转载 Android 学习 之 Looper Handler Thread Messahe 多线程

转载自:http://www.hlovey.cn/2010/06/12/android-looper-handler-%e5%a4%9a%e7%ba%bf%e7%a8%8b.html | 在Android下面也有多线程的概念,在C/C++中,子线程可以是一个函数,一般都是一个带有循环的函数,来处理某些数据,优先线程只是一个复杂的运算过程,所以可能不需要while循环,运算完成,

2013-07-09 10:22:48 740

转载 Android Memory Management, OutOfMemoryError

Android Memory Management, OutOfMemoryError   Android框 架强制每个进程的24 MB内存限制。在一些旧的设备,如在G1,限制为16 MB 更低,更重要的是,由位图使用的内存限制。处理图像的应用程序,它是很容易达到此限制,并获得与OOM 异常死亡 的过程:E / dalvikvm堆(12517):1048576字节外部分配这个 过程中过大的

2013-07-09 10:19:55 664

转载 Android网络连接判断与处理

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接 复制代码 public boolean isNetworkConnected(Context context) {       if (context != null) {           ConnectivityManager mConn

2013-07-09 10:18:25 1047

转载 Android Activity堆栈信息

转自:http://blog.csdn.net/hellolinshoujie/article/details/6588855 转载请说明。在android中,一个activity组件可以激活另一个activity组件(可能属于另一个应用程序)。若新的被激活的activity组件属于另一个应用程序,则那个activity组件会运行在那个应用程序的进程中,但是从用户的角度

2013-07-09 10:14:51 3849

转载 Android home键和back键区别

转载自:http://www.cnblogs.com/linjiqin/archive/2011/12/14/2287968.htmlAndroid home键和back键区别back键Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其

2013-07-09 10:08:42 3127

转载 设置Activity永不过期,即不执行onDestroy()

转载自:http://www.cnblogs.com/linjiqin/archive/2011/12/15/2289251.html设置Activity永不过期,即不执行onDestroy()/** * 重写finish()方法 */@Overridepublic void finish() {    //s

2013-07-09 10:07:43 1239

原创 启动apk的3种方法

转载自 http://www.open-open.com/lib/view/open1328536689889.html方法一:最直接的就是知道apk的包名和启动类名, 直接启动方法二:如果只知道包名,在这种情况下通常也可以启动,通常调用public abstract Intent getLaunchIntentForPackage (String packageName)

2013-07-05 17:55:58 2132

原创 Android获取音乐的内置图片

如果音乐文件带有内置图片的话,可以用如下的方式获取该图片。public class ArtworkUtils { private static final Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart"); private static final BitmapFactory.Op

2013-04-25 20:15:14 8903 2

转载 Android利用ViewFlipper实现屏幕切换动画效果

Android利用ViewFlipper实现屏幕切换动画效果2012-01-12 14:57 940人阅读 评论(3)收藏 举报1、屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。2、介绍ViewFilpper类ViewFlipperextends

2012-04-23 16:23:06 829

原创 不同App共享SharedPreferences(跨activity, application访问SharedPreferences)

写SharedPreferences的时候设置属性为Context.MODE_WORLD_READABLE:SharedPreferences sharedPreferences = getSharedPreferences(shareName, MODE_WORLD_READABLE);访问的时候:Context otherContext = null;try {

2012-04-23 16:09:45 3649 1

原创 Android查看当前显示哪个Activity

/** * 打印消息 * @author Administrator **/class PrintThread extends Thread{ @Override public void run() { // TODO Auto-generated method stub super.run(); while(true){ Compo

2012-04-23 16:04:09 5108

转载 android拨号的源码分析

1 OutgoingCallBroadcaster.java点击拨号盘拨打按钮后,进入通话的Phone包。此时首先进入的函数是OutgoingCallBroadcaster.java,该类是一个Activity。由activity的生命周期可知,第一次进入时应调用onCreate()函数。(在该类中也只实现了这个函数。)解析一下这个函数:1.1) 首先获取Intent对象,获取拨出的号

2012-03-23 17:56:57 7550

原创 Eclipse导入两个工程

写程序有时候需要导入两个工程的代码进行对比,于是ctrl+左键拖动文件夹复制了一个工程,将这个工程import到eclipse,发现提示eclipse里面已经有这个工程了。改工程根目录文件夹的名字没有效果,这时候打开根目录下的.project文件,修改    testProject这里的testProject成不同的名称就可以了、

2011-11-27 20:51:42 2466 2

原创 程序退出后GPS图标还在闪的问题

在做android GPS的一个应用,碰到退出程序,执行mLocationManager.removeUpdates(mLocationListener);后GPS图标还在一闪一闪地,显示工作状态。网上找了N多方法都是说remove,没有真正的解决办法。我后来发现原来是myLocationOverlay在捣鬼,将myLocationOverlay.disableMyLocation()

2011-11-07 17:48:48 2279 1

原创 java通过经纬度计算两坐标点之间的距离

public class MapDistance { private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math.PI / 180.0; } public static double getDistance(double lat1, dou

2011-11-07 17:27:08 7689 1

Android快速入门2010-10-1.pdf

新手想学习android怎样才能快速入门,这本书不错

2011-05-13

空空如也

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

TA关注的人

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