1. 根据《疯狂Android讲义(第2版)》P127页---仿Android系统launcher界面, 我本来想做一个AllApp的应用分页效果Activity,每个显示的应用都可以点

进去,效果如


但是发现页面总是间隔性的有点击事件

按照书上的写法在加自己的想法,我在oncreate里添加了mGridView.setOnItemClickListener(this);

//下一屏函数是这么写的

public void next(){Log.v("调用next", " ");//如果不是最后一屏,左划切换屏幕if(screenNow < screenNum - 1)screenNow++;else screenNow = 0;((GridView)switcher.getNextView()).setAdapter(adpter);switcher.setOutAnimation(this, R.anim.slide_out_left);switcher.setInAnimation(this, R.anim.slide_in_right);switcher.showNext();}
问题在于:

这是两个view交替显示,刚一开始我setOnItemClickListener,这就给第一view设置了监听事件,。所以我们在next或者prev设置监听事件,第二个view总是没有,第一个view有。
解决办法: 就是在next函数里添加((GridView)switcher.getNextView()).setOnItemClickListener(this);这就是断章取义的危害啊!

2. 对于setOnKeyListener里的public boolean onKey(View v, int keyCode, KeyEvent event)函数,返回值有重要意义,返回值表示

True if the listener has consumed the event, false otherwise.。加入你返回false表示你没有处理这个事件,那么你的相关处理代码会被忽略。而假如你处理一个右键的事件,然后全部返回true,那有会出问题,这时候假如按上下左,系统都不会给你处理了,它认为你已经处理过了。这时候就要在右键处理事件中return true,其他情况return false。


3. 使用由其他Activity传来的Context获取控件,因为其实Activity本质上也是Context,所以我们可以Activity activity = (Activity)context;
imageView = (ImageView)activity.findViewById(R.id.albumImage);用这种方式获取控件。


4. 获取ImageView中的图片资源:

imageView.setDrawingCacheEnabled(true);
Bitmap mSrc = imageView.getDrawingCache();
imageView.setDrawingCacheEnabled(false);

获取图像之前,一定要调用setDrawingCacheEnabled(true)方法,否则,无法从ImageView对象iv_photo中获取图像;

获取图像之后,一定要调用setDrawingCacheEnabled(false)方法,以清空画图缓冲区,否则,下一次从ImageView对象iv_photo中获取的图像,还是原来的图像。

如果设置的是背景,可使用getBackground,如果是src,可用getDrawable();

BitmapDrawable tmpBitmapDrawable = (BitmapDrawable)imageView.getBackground();
mSrc = tmpBitmapDrawable.getBitmap();

5. 读取文件谨防脏数据的出现

byte[] buffer2 = new byte[1024];
while( inputstream.read(buffer2) != -1){
fout.write(buffer2);
}

以这种写法读出来的数据很容易出现脏数据,因为write会把Buffer2的全部字节写入,而如果最后一次读取的内容不足整个数组长度,也就是1024,则write时会把这次部分和后面脏数据部分(上一次读出)一起写入。

6. 你把一个控件的Android id定义去掉,如果在其他地方,如相对布局中有其他组件引用了它,那它在R文件中还是会生成。

更多相关文章

  1. iOS开发之分页控件的简单封装
  2. 第八章 Android(安卓)开发常见的UI布局
  3. Android事件分发与消费
  4. Android自定义控件进阶-打造Android自定义的下拉列表框控件
  5. Android(安卓)PopupWindow的使用
  6. Android(安卓)在程序中动态添加 View 布局或控件
  7. simpleLib - android 快速开发框架
  8. 隐藏Android(安卓)系统自带的v7.widget.Toolbar的标题
  9. Android的Broadcast Receicer解析

随机推荐

  1. Android中单击空白区域隐藏键盘
  2. 将写好的软件安装到Android手机
  3. android switch模块 (耳机检测)
  4. iOS,Android,.NET通用AES加密算法
  5. 关于Activity的生命周期的一些见解
  6. android 面试知识个人积累1
  7. what is apk?
  8. Android 获取ROOT权限原理解析
  9. android service 的各种用法(IPC、AIDL)
  10. android 传感器获取方向总结