自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RecyclerView与ListView对比浅析(三):绘制

上一篇:RecyclerView与ListView对比浅析(二):View缓存篇点击打开链接(三)绘制篇1. AbsListView(源码版本 4.4)绘制就分三步来分析Measure、Layout和Draw  (1)onMeasure里未用到MeasureSpec的高宽,首先设Selector,然后根据SelectionPadding和mPadding算出ListPa

2015-11-29 17:52:34 3395 1

原创 RecyclerView与ListView对比浅析(二):View缓存篇

上一篇链接:RecyclerView与ListView对比浅析(一):初始化篇(二)View缓存篇1. AbsListView(源码版本4.4)RecyclerBin是AbsListView中专门处理View缓存的类,官方注释中说明其存有两组View——ActiveViews和ScrapViews,前者是当前Layout中正在显示的View,后者是已在屏幕范围外可重用的View,还

2015-11-29 17:39:50 7719

原创 RecyclerView与ListView对比浅析(一):初始化篇

ListView是Android中常用的控件之一,也是信息流中主体展示的重要控件,它在复用性、流畅性及易用性上均有着较好的表现。Google在V7支持包中推出了新控件RecyclerView,它封装了处理convertView缓存的部分,开发者只需要实现View的创建和更新两个部分就可实现列表,另外它还可以用LayoutManager实现不同的布局,比如List和Grid。最近Facebook的首页信息流也使用了这一控件,但从拉View树的结果看,貌似是和ListView切换使用的。

2015-11-29 17:23:50 6461

原创 Drawable加入动画机制(二)

在上篇文章中,我们介绍了一种给Drawable加入动画机制的方法Drawable加入动画机制(一)下面来介绍下我根据这个机制写的三段式动画,效果如下图首先在AnimationScaleState中加入了一个中间Scale参数——mMidScale,如果在调用前设置了中间Scale,则实现三段式动画重写start(),如果Mid不为0,则Repeat三次,把Durat

2015-10-07 23:05:30 938

原创 Drawable加入动画机制(一)

我们都知道Android有原生的Drawable动画,也就是由一组Drawable组成的帧动画但如果想要给TextView中的Drawable加入动画,用这个方法显然是行不通的我刚开始想用属性动画去做,但设好传进去后还是没有动画效果(如果有用属性动画实现的大神求留言)于是在GitHub上找到了这个例子,它实现了Drawable的自定义Scale动画:点击打开链接在这篇文章里来分析下

2015-10-07 22:52:57 1601

原创 导入Android-Support-V7包“inconsistent”错误解决方法

最近项目中要导入AndroidV7包的RecyclerView来替换ListView但在编译的时候,在RecyclerView.Viewholder上总是报“The hierarchy of the type RecycleAdapter is inconsistent”,并且Proguard也通不过搞了好久都没搞通,最后终于发现了原因:是因为项目中原来有引V4包,V4包太旧了!不

2015-08-17 23:08:48 4089 5

原创 Ant实现Android代码编译混淆(“找不到程序包R”解决方法)

最近在项目里本来是用ProguardGUI实现混淆并生成jar包,想写一个Ant的xml来实现一键生成但在过程中执行javac的时候遇到了“找不到程序包R”的错误,纠结了好久,下面一部分一部分的介绍下初始化部分就不多说了,主要是实现手动clean的部分,看代码:<target name="init" description="Initializing all output dir

2015-08-13 21:00:35 2701

原创 IntelliJ IDEA使用问题汇总(持续更新中)

最近Android开发因项目要求改用IntelliJ,初步了解了下其实就是Android s

2014-07-08 09:29:16 3106

翻译 各版本IIS中CGI超时的设置方法

最近在做CGI多进程并发的一个系统,发现程序z

2014-06-30 11:02:35 4132

原创 C++中运用模版报“无法解析的外部符号”错误解决方法

最近新写了一个Socket通讯类,在

2014-05-21 11:08:40 5818

原创 C++中无法调用DLL解决方法汇总

最近遇到了一个需要调用第三方DLL的程序,一直加载失败错误一:编码问题

2014-05-21 10:55:09 11252

原创 unresolved external symbol解决方法

我在调Json.cpp的时候,在编译时遇到了无法链接Json相关函数的问题,经检查,头文件引用无问题,问题应该出来工程属性的“链接器”中      经比对发现,在命令行(Command Line)中较其他编译正确函数缺少一个“..\..\jsonprj\lib\jsonprj.lib”      于是在命令行中的Additional options中加入了此行,编译正确顺便

2014-03-25 15:10:59 4164

转载 C++的变量类型汇总(持续更新中)

BYTE/ WORD/ DWORD在Visual C++ 6.0中,BYTE与WORD,DWORD本质上都是一种无符号整型,它们在WINDEF.H中被定义,定义如下:typedef unsigned char       BYTE;typedef unsigned short      WORD;typedef unsigned long       DWORD;

2014-02-24 09:50:03 769

转载 【随手记】进程与线程

进程是在其自己的地址空间运行的自含式(Self-Contained)程序,周期性地把CPU从一个任务切换到另一个任务,多任务处理(Multitasking)操作系统在同一时刻可以运行多个进程(程序),使得它们看上去就好像都在独自运行。线程(Thread)是一个进程内的单一连续的控制流。所以一个进程可以有多个并发执行的线程,由于这些线程运行在一个进程内,所以它们分享内存和其他资源。 -- 《C++编

2013-12-16 16:07:06 687

原创 ListView与RadioButton组合——自定义单选列表

Android自带的RadioButton单选框只支持添加文字,我们自己写Adapter实现自定义的RadioButton首先item的XML源码search_user_item.xml (现在只是文字+单选按钮+自定义背景,可以根据需要随意扩展)<LinearLayout xmlns:android="http://schemas.android.com/apk/res/and

2013-09-10 11:13:14 43707 12

原创 GenyMotion使用遇到的问题杂记(更新中)

1. 有时模拟器关闭后,点击Eclipse上的插件显示模拟器仍在On状态,这时只需打开任务管理器,关掉“VirtualBox”相关的进程就可以,再次点击插件时会自动启动的

2013-09-03 10:18:24 3790

转载 Android的触摸(Touch)机制

android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP当屏幕中包含一个ViewGroup,而这个ViewGroup又包

2013-08-29 15:30:22 790

原创 C++中用Socket实现对结构体、长字符串和图片的传输

首先说明下,本文的Socket传输引用了CBlockingSocket封装类这个类比较特殊的是Send和Receive的最后一个参数是超时时间,其它与C库里的类似首先说结构体吧,这里传输的结构体含有八个整型,如下 typedef struct exceptiontypecount{ int img_num;

2013-06-06 19:18:59 15135 2

转载 C++中char*与string的关系

char *是字符指针string是字符串二者不是任何时候都等价,在C语言中,当字符指针指向的地址保存了一个字符串(即以'\0'字符结尾的一个字符序列)时,可以称之为指向了一个字符串,其它情况下则不等价。C++中,string是一个类,而char *是一个基本数据类型,二者更不等价了。

2013-05-30 10:10:48 1146

原创 undeclared identifier的几种可能

1. 未include相关头文件2. include之后位置不对,程序找不到3. 在导入封装类时,有时需要利用它的命名空间,如使用BlockingSocket封装类,需要在include后加入如下代码才可正常编译    using namespace nsSocket;待续...

2013-05-28 08:36:28 8033

原创 百度地图自定义弹窗(PopupOverlay)Android篇

最近希望用百度地图的PopupOverlay弹出自定义的View弹窗,但百度的API只支持Bitmap的弹窗于是在网上搜索方法时看到了用DrawCache方法把View转成BitMap再显示,但只有ios的实现,我在这篇文章里说下Android的实现源码的模版是百度地图API给出的2.0.0示例代码,下载见点击打开链接主要对其中的自定义覆盖物(ItemizedOverlayDemo)模

2013-03-07 14:56:48 16928 16

转载 关于Adapter中的View.setTag和getTag

View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。        import android.app.Activity;     import android

2013-03-07 14:23:51 3695

转载 Android的View加边框

以Textview为例在Drawable里新建XML textview_bar.xml <stroke android:width="1dip" android:color="@android:color/black" /> 然后在定义控件时TextView

2012-12-19 14:11:12 1614 1

原创 Textview动态设置颜色问题

TextView text;text.setTextColor(R.color.red);直接动态设置没用,eclipse也会报错1. 在Activity中,可以用:setTextColor(getResources().getColor(R.color.blue_red));2. 在Adapter等没有getResources的方法中setTextColor(contex

2012-12-18 21:21:47 1575

原创 TimePicker在ScrollView中滑动冲突的解决方法(更新适用于全控件的方法)

自定义新的TimePicker重写如下方法即可:(应该也适用于其他控件) @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) { ViewParent p = g

2012-12-15 10:22:52 3248 1

转载 Android动态设置View的位置和大小

以LinearLayout中的控件ImageView为例LinearLayout layout = (LinearLayout) convertView.findViewById(R.id.linearlayout); ImageView imageView = new ImageView(this); LinearLayout.LayoutParams params = new Li

2012-12-12 09:46:29 32130 3

原创 多个Popupwindow同时弹出时实现分别拖拽功能

Popupwindow一般默认点击弹窗外区域,窗口即消失,这与一条语句有关:popupWindow.setBackgroundDrawable(new BitmapDrawable())将此语句删掉即可取消这个功能然而要实现多个Popupwindow可分别拖拽,还要在建popupwindow时将Focusable设为false具体代码见: private void show

2012-12-06 10:08:27 6005 1

原创 Android低级错误杂记

1. Bundle传值是随Intent传的,转Class传值时,不能putextra以后再new一个Intent转Class2. 若想实现Popwindow的Touch功能,建议对其中View的setOnTouchListener设置,虽然Popwindow自带一个setTouchInterceptor,但不建议用3. popupWindow.setBackgroundDrawable(n

2012-11-28 09:45:25 689

转载 GridView控件重载并应用于课程表制作

首先重写GridView类,禁止其滑动效果和点击效果,以便在课程表中调用代码(转载):package com.oucjwc.ui; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.Gri

2012-10-27 21:45:12 2883

空空如也

空空如也

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

TA关注的人

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