- 博客(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
185
原创 集合排序的方法
/** * 消息重新排序, * 按照msgID,由小到大的顺序 * 聊天窗口适用的排序方式 */ class MessageSort : Comparator<Message> { override fun compare(msg1: Message, msg2: Message): Int { ...
2020-02-28 16:18:47
153
原创 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
240
原创 新手引导的实现
/** * 首页的新手引导 */ private fun checkShowUserGuide() { if (!PreferencesUtil.homeNewUserGuideHasShow) { home_avatar_parent.postDelayed ({ home_avatar...
2019-10-26 16:06:16
269
原创 实现viewPager滑动翻页的指示器效果及动画
实现viewPager指示器和滑动效果,效果如下:技术点:1、整个按钮区域用RadioGroup,实现单选效果2、RadioGroup里放两个LinearLayout,分别显示pager1和pager2的按钮3、LinearLayout里垂直布局,放radioButton,显示图片。底部一个view,显示标签。如果view需要圆角,就用cardView包裹vie...
2019-08-30 15:13:37
752
原创 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
184
转载 软键盘显示发送按钮,支持多行
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
717
原创 解决recycleView+scrollView导致recycleView缓存复用失效,和无论怎么滑动firstVIsiablePosition都是返回0的问题
如果页面界面的xml里包含两个recycleView和一个scrollView,root是一个scrollView包含一个垂直的LinearLayout,里面是一个横向的recycleView1,和一个纵向的recycleView2。(布局代码如下)会导致两个问题:1是recycleView的多级缓存复用机制失效,recycleView2会一直是渲染count个item,会导致性能差。...
2019-08-26 14:43:09
1230
原创 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
3542
原创 解决viewPager和recycleView的滑动冲突
viewPager里包含横向的recycleView时,横向滑动recycleView会导致viewPager翻页,解决办法是/** * zivon * 解决viewPager和recycleView的滑动冲突 */class NestedRecyclerView(context: Context, attrs: AttributeSet?) : RecyclerView(conte...
2019-08-26 14:23:26
1921
原创 navigation的baseFragment监控软键盘back键
requireActivity().onBackPressedDispatcher.addCallback(this) { onBackPressed()}
2019-08-26 14:18:15
304
转载 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
305
原创 使用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
753
转载 android:descendantFocusability用法简析
android:descendantFocusability用法简析 开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。原因多半是由于在你自己定义的Item中存在诸如ImageB
2014-11-13 15:19:54
601
转载 大端、小端、网络字节序
大端、小端、网络字节序 一、大端、小端"大端"和"小端"表示多字节值的哪一端存储在该值的起始地址处;小端存储在起始地址处,即是小端字节序;大端存储在起始地址处,即是大端字节序;或者说:1.小端法(Little-Endian)就是低位字节排放在内存的低地址端(即该值的起始地址),高位字节排放在内存的高地址端;2.大端法(Big-Endian)就是高位字节排放在内存的低地址
2014-11-04 11:00:03
725
原创 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
11832
2
原创 TextWatcher引起activity内存泄露的问题
TextWatcher会引起activity内存泄露。EditText设置了addTextChangedListener的界面,要在onDestroy里调用removeTextChangedListener释放掉。
2014-06-18 17:18:03
3407
原创 ListView无障碍识别整个listView,不识别item,设置了setContentDescription也没有用
点击ListView的时候,无障碍识别到的是整个listView,不会读点击的那个item。解决办法是在getView里手动设置:convertView.setFocusable(true);convertView.setFocusableInTouchMode(true);这样就会读item里的值
2014-06-18 17:12:28
4680
原创 android string.xml里的空格字符
在string.xml定义字符串的时候经常要用到空格, 直接用键盘敲的话不知道是几个空格,经常看错了,导致误删。如果用 来替代空格的话,就好很多。另外使用%1$s,%1$d可以在一个字符串里定义多个统配字符。
2014-06-14 16:27:44
42924
原创 解决scrollView中嵌套编辑框导致不能上下滑动的问题
EditText设置maxLines之后,文本行数超过maxLines,会网上折叠,上下滑动可以浏览所有文本。若EditText外层有scrollView,在EditText上下滑动,不会像正常情况那样上,只会滑动了scrollView。解决办法是:mEt_content.setOnTouchListener(this); // 解决scrollView中嵌套EditText导致不
2014-06-13 13:45:30
10360
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
3986
2
转载 alwaysRetainTaskState笔记
1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“true”表示可以移动,“false”表示它必须呆在当前应用的task中,默认值为false。如果一个这个Activity的元素没有设定此属性,设定在上的此属性会对此Activity起作用。例如在一个应用中
2014-02-27 18:40:44
17405
2
转载 Java上的try catch并不影响性能(转)
最近因为担心自己开发的库不稳定,会影响到接入产品的正常运行,在代码的不少地方都加了一层try catch,主要是为了避免自己的一些异常抛出导致,应用crash,捕获的异常也并没有做什么特别的处理,只是在log中输出该异常的信息。try catch多了后,就开始担心会不会影响性能,以前学C或C++的时候好像曾经被警告过要尽量少使用try catch,好像是在压栈的时候会更消耗神马的,其实说真的并没有
2013-12-26 15:49:49
23974
6
原创 判断一个Bitmap图像是否是.9图
见BitmapFactory的源码中byte[] np = bm.getNinePatchChunk(); final boolean isNinePatch = np != null && NinePatch.isNinePatchChunk(np);
2013-07-11 10:13:18
2824
原创 启动文件选取的按钮
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
789
转载 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
746
转载 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
676
转载 Android网络连接判断与处理
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接 复制代码 public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConn
2013-07-09 10:18:25
1054
转载 Android Activity堆栈信息
转自:http://blog.csdn.net/hellolinshoujie/article/details/6588855 转载请说明。在android中,一个activity组件可以激活另一个activity组件(可能属于另一个应用程序)。若新的被激活的activity组件属于另一个应用程序,则那个activity组件会运行在那个应用程序的进程中,但是从用户的角度
2013-07-09 10:14:51
3861
转载 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
3138
转载 设置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
1254
原创 启动apk的3种方法
转载自 http://www.open-open.com/lib/view/open1328536689889.html方法一:最直接的就是知道apk的包名和启动类名, 直接启动方法二:如果只知道包名,在这种情况下通常也可以启动,通常调用public abstract Intent getLaunchIntentForPackage (String packageName)
2013-07-05 17:55:58
2164
原创 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
8936
2
转载 Android利用ViewFlipper实现屏幕切换动画效果
Android利用ViewFlipper实现屏幕切换动画效果2012-01-12 14:57 940人阅读 评论(3)收藏 举报1、屏幕切换指的是在同一个Activity内屏幕见的切换,最长见的情况就是在一个FrameLayout内有多个页面,比如一个系统设置页面;一个个性化设置页面。2、介绍ViewFilpper类ViewFlipperextends
2012-04-23 16:23:06
838
原创 不同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
3666
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
5134
转载 android拨号的源码分析
1 OutgoingCallBroadcaster.java点击拨号盘拨打按钮后,进入通话的Phone包。此时首先进入的函数是OutgoingCallBroadcaster.java,该类是一个Activity。由activity的生命周期可知,第一次进入时应调用onCreate()函数。(在该类中也只实现了这个函数。)解析一下这个函数:1.1) 首先获取Intent对象,获取拨出的号
2012-03-23 17:56:57
7578
原创 Eclipse导入两个工程
写程序有时候需要导入两个工程的代码进行对比,于是ctrl+左键拖动文件夹复制了一个工程,将这个工程import到eclipse,发现提示eclipse里面已经有这个工程了。改工程根目录文件夹的名字没有效果,这时候打开根目录下的.project文件,修改 testProject这里的testProject成不同的名称就可以了、
2011-11-27 20:51:42
2475
2
原创 程序退出后GPS图标还在闪的问题
在做android GPS的一个应用,碰到退出程序,执行mLocationManager.removeUpdates(mLocationListener);后GPS图标还在一闪一闪地,显示工作状态。网上找了N多方法都是说remove,没有真正的解决办法。我后来发现原来是myLocationOverlay在捣鬼,将myLocationOverlay.disableMyLocation()
2011-11-07 17:48:48
2290
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
7701
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人