自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 判断应用切回后台

在Activity中继承方法onTrimMemory@Override public void onTrimMemory(int level) { super.onTrimMemory(level); if(level == TRIM_MEMORY_UI_HIDDEN){ Log.e("test", "background..."

2017-08-09 17:41:30 831

原创 Fragment简介

强烈建议使用support-v4库中的Fragment因为它可以让Fragment在所有的Android系统版本中保持功能一致性。比如在Fragment中嵌套使用Fragment,这个功能是Android4.2系统中才开始支持的,如果使用系统内置的Fragment,那么在Android4.2系统之前的设备运行程序就崩溃。将Fragment加入到返回栈中:addToBackStack(null),可以

2017-04-21 00:30:47 600

原创 第五章 SQLite 数据库

第五章 SQLite 数据库1.AIDL:原子性,一致性,隔离性,持久性2.SQLite 对于写操作是进行了加锁,不过读操作是可以多任务同时操作的。3.SQlite 对于Alert Table有所限制,只能进行添加和重命名列,不能修改删除列,如果修改删除列时,只能通过创建新表删除旧表来迂回实现。4.在Android 2.2以后都支持外键,在其之前都不支持外键。默认是不开启外键的,需要手动开启。代码如

2017-04-05 23:19:02 547

原创 关于Adapter的The content of the adapter has changed问题分析

入Android坑一年有余,与此异样相见多次。提示往往都是导致失败的原因,可能并没有指出具体调用位置。造成的原因列举的很详细,但就是找不到问题根源,需一处处核实,有时仍未根本的解决问题,很是苦恼。今发现,如果当前页面跳转仔细检查过后无误时,请检查下新开页面是否存在此问题,如果对你有用,有空时记得回来点个赞,给小白一点点鼓励。

2017-04-04 23:21:54 271

原创 android運行時打印调用栈

RuntimeException here = new RuntimeException("here");here.fillInStackTrace();Log.w(TAG, "Called: " + this, here);

2017-02-27 15:46:39 305

原创 Listview 设置分割线颜色不生效

dateView.setDivider(new ColorDrawable(_context.getResources().getColor(R.color.textlight)));dateView.setDividerHeight(1);//需要在设定完颜色后设定一下分割线高度才会生效搬运自:http://stackoverflow.com/questions/2372415/how-to-

2017-02-03 17:46:41 570

原创 第三章 多线程

第三章 多线程在Android3.0后禁止在主线程中进行网络访问请求,否则会抛出异常。其目的是为了保证UI的流畅性,通常都会将耗时(I/O操作,网络请求)操作放到子线程中进行。在Android应用启动时会默认有一个主线程(UI线程),在这个线程中会关联一个消息队列,所有的操作都会被封装成消息然后交给主线程来处理。子线程需要操控UI时,最常用的手段就是利用Handler来更新UI,Handler将一个

2016-12-27 22:51:01 463

转载 传送门---Handler 内存泄露问题

原文地址:http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.html翻译地址:http://www.jianshu.com/p/cb9b4b71a820

2016-08-26 16:26:19 452

转载 ListView setSelection()无效

listview.clearFocus();listview.post(new Runnable() { @Override public void run() { listview.setSelection(listview.getCount() - 1); }});

2016-08-23 14:47:34 438

原创 listview 动态计算高度

注意:inflate时传入parent否则可能计算高度有误在Android 4.3系统下发现的。rowView = inflater.inflate(R.layout.list_items_user, parent, false);for (int i = 0; i View listItem = adapter.getView(i, null, listView)

2016-08-02 10:57:35 421

原创 Android 4.4以下Listview addHeadView不显示

记录一下,在4.4以下(手头有4.4,4.2测试)发现应该先addheader 然后调用setAdapte,注意顺序,如果顺序错,在低版本导致headerview不显示

2016-08-02 10:54:26 643

原创 emoji表情中不能插文字问题

解决方案:spannableString.setSpan(imageSpan, matcher.start(), end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);之前设定的是:Spanned.SPAN_INCLUSIVE_EXCLUSIVE导致emoji表情之间不能插入

2016-08-02 10:39:12 680

原创 setClickable(false)与setEnabled(false)一点小发现

当悬浮layout设定不可点击时发现:setClickable(false);点击会透过去,.setEnabled(false);则不会。

2016-08-02 10:23:10 2066

原创 corners设置多个属性

正确写法:android:topLeftRadius="5dp"/>而不能<corners android:topRightRadius="5dp"/><corners android:topRightRadius="5dp"/>标签会只有最后一个生效,覆盖之前的属性

2016-08-02 09:35:11 1105

原创 listview中隐藏headview

解决方案1:通过设定headview的(y轴,纵向)的padding来实现显示隐藏headview。隐藏head view时设定y轴padding为一个负数,显示时将其设定为0即可。解决方案2:在head view中设定一个次外层,通过findViewById的方式找到这个次外层,每次隐藏或显示headview时都通过设定这个次外层headview的visiable去实现即可(来源stackover

2016-07-24 12:55:09 525

原创 显示软键盘时,键盘没有自动弹出

显示键盘 InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editTextReply, InputMethodManager.RESULT_SHOWN); 当设定以上代码时,键盘仍没有显示出来,原因就是输入框

2016-07-24 12:35:54 553

原创 Android 4.4系统下LayoutParam使用

动态设定布局时一定会用到LayoutParam,而LayoutParam的类型应该取决于其父级容器。使用类型不当的话,会报类型转化异常,目前发现在Android4.4系统下会发生。

2016-07-24 12:32:15 490

转载 子线程更新UI方式

FusionField.currentActivity.runOnUiThread(new Runnable()            {                public void run()                {                    Toast.makeText(getApplicationContext(), , "Update My 

2016-07-04 19:13:27 259

转载 android:maxLines与android:ellipsize冲突

http://stackoverflow.com/questions/11210553/setting-ellipsize-on-textview-reduces-lines-shown-by-one-instead-of-only-ellipTextView snippet;snippet.setText("loren ipsum dolor loren ipsum dolor loren

2016-06-22 11:28:15 668

转载 ListView嵌套GridView数据显示不完整解决方案

此问题主要是由于GridView都是可滑动的控件,嵌套在ScrollView下时需要重写onMeasure方法。public class MyGridView extends GridView{ public MyGridView(Context context, AttributeSet attrs) { super(context, attrs);

2016-06-15 13:49:43 483

原创 ClickableSpan 去除下划线

ClickableSpan clickableSpan = new ClickableSpan() { @Override public void onClick(View textView) { context.startActivity(new Intent(conte

2016-06-15 11:06:39 8276 2

原创 ListView中addHeadView时marginBottom无效

父级设置高度wrap-content,使用paddingBottom 替代 设置marginBottom 和android:layout_alignParentBottom="true"

2016-05-26 13:56:27 473

原创 RecyclerView基本使用方式

RecyclerView基本用法

2016-05-16 23:51:23 574

原创 自定义View属性的使用

自定义View属性的使用创建 /res/values/attrs.xml 内容如下: <?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="ClickTransparentButton"> <attr name="isNight" format="boolean"/>

2016-05-15 15:07:41 298

转载 编程的智慧

搬运工:原文连接http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy

2016-05-15 14:43:16 239

原创 获取Listview所有Item高度总和

调用方法后通过LayoutParam方式对ListView高度进行设置。 //获取Listview所有Item高度总和 public int getAllItemListViewHeight(ListView listView){ ArrayAdapter adapter = (ArrayAdapter) listView.getAdapter(); i

2016-05-11 14:04:02 3157 1

原创 第二章View与动画

View与动画一、用户界面的构成1. 视图树的组成ActivityPhoneWindowDecorViewViewGroup 2.ListView中获取每个元素的方式通过Adapter 方法是 getItem(int positoon)来根据索引值来获取指定位置的相应元素;每个Item View的获取方式是通过getView方法来实现的。在这个方法中用户必须构建Item View,然后将

2016-05-11 01:30:18 306

原创 第一章 四大组件

第一章 四大组件一、四大组件的简单介绍activity负责UI页面跳转代表着一个页面单元。service 负责与UI无关操作,耗时操作(需要再其中另开线程执行耗时操作)Broadcast 各个应用组件中进行通讯,简化通信问题ContentProvider 储存,共享数据,多应用共享 1.Activity的singleInstance启动模式,在同

2016-04-26 01:12:53 341

原创 编程小技巧

编程技巧1.私有变量以m开头2.临时变量以_(下划线)开头3.类型强转之前通过instanceof(xxx)进行判断,从而避免类型转换异常4.创建数据库时,字段定义为public static String类型,再执行增删改查操作时,使用类名.字段的形式拼接sql语句,这样可以避免sql语句中字段名称拼写错误。

2016-04-25 23:19:53 397

原创 1.Activity的生命周期与启动模式

Activity启动模式,过滤规则

2016-03-14 01:18:11 624

原创 Android Studio使用.so库的方式(科大飞讯为例)

先将armeabi/libmsc.so文件一并拷贝到libs文件夹下,在app目录下的build.gradle文件,最后添加sourceSets属性。apply plugin: 'com.android.application'android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConf

2016-02-01 16:38:11 650

原创 Hack6 为ViewGroup添加动画效果

此例中以一个RelativeLayout作为父级容器,其中纵向设置4个TextView。由于在onCreate中设定了动画效果,所以在启动时,会产生类似瀑布流的效果。layout文件如下:xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"

2016-01-27 17:28:06 399

原创 Hack5-2 ImageSwitcher的使用

切换图片具有过渡效果的ImageViewboolean b = true;ImageSwitcher imageSwitcher;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layo

2016-01-27 11:41:51 462

原创 Hack5-1 TextSwitcher实现平滑过渡

TextSwitcher可以在使用setText时候,增添动画效果。TextView调用setText时直接变化,有点太突兀。提示:使用TextSwitcher时,设定文字应该使用textSwitcher对象,而不是使用其内部的TextView对象调用setText()方法。TextSwitcher textSwitcher;boolean b = true;@Ov

2016-01-27 10:35:20 477

空空如也

空空如也

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

TA关注的人

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