BUG 收集
来源:互联网 发布:网络跳线架 编辑:程序博客网 时间:2024/06/11 03:06
之前遇到一些开发中的问题,没有及时记下来,后来就忘了是什么问题。
现在把细小的点也记下,方便查看,避免错误。
1、xml中根节点无法通过findviewbyid找到,这里遇到的空指针debug才发现。
例如,
根节点为FrameLayout,id为main_container,
在当前Fragment的onCreateView()方法中,应该直接通过inflate给view赋值,
mContainer = (FrameLayout) inflater.inflate(Res.layout(container.getContext(), "fragment_main"), container, false);这样再向mContainer中addView,不至于空指针:mContainer.addView(opPromotionView.getView());
2、onCreateOptionsMenu和onPrepareOptionsMenu
- onCreateOptionsMenu
只执行一次 - onPrepareOptionsMenu
每次display menu之前调用一次,用来做update menu的动作. - 清空操作:menu.clear();
参考:http://blog.csdn.net/shichaosong/article/details/7309723
3、用java代码实现布局,addRule的用法
//示例:水平居中、位于下方int width = getResources().getDisplayMetrics().widthPixels; RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width / 2, (int) (0.77 * width / 2)); lp.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE); imgWifi.setLayoutParams(lp); RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(width * 2 / 3, 140); lp1.topMargin = 40; lp1.addRule(RelativeLayout.BELOW, Res.id(this, "tv_msg")); lp1.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE); settingWifiBtn.setLayoutParams(lp1);//沿着父容器底部RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,1); params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);//作用同xml中layout_alignParentBottom if (isLastChild) { params.setMargins(0, 0, 0, 0);//最后一个孩子节点的下边线要齐头 } else { params.setMargins(200, 0, 0, 0); } holder.divider.setLayoutParams(params);
4、自定义View去掉锯齿
两种方式:
//利用Paintpaint.setAntiAlias(true);paint.setFlags(Paint.ANTI_ALIAS_FLAG);//利用CanvasDrawFilter pfdf = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); canvas.setDrawFilter(pfdf);
5、ImageView的ScaleType属性
设置方式:
(1) 在layout xml中定义Android:scaleType=”CENTER”
(2) 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
* 图片示例参见 ImageView.ScaleType设置图解
fitCenter和centerInside的区别
Tip:很多人都觉得fitCenter和centerInside没有区别,根据上面的效果图来分析,其实是有区别的。fitCenter是将原图等比例放大或缩小,使原图的高度等于ImageView的高度,并居中显示,而centerInside在原图的原本size大于ImageView的size时,则缩小原图,效果同fitCenter;在原图的原本size小于ImageView的size时,则不进行任何size处理,居中显示,效果同center。
6、制作.9图
在本机安装的AndroidSDK的sdk/tools/路径下,有自带的draw9patch。
可以直接运行之,将图片拖动进去制作.9图的黑线。
上下左右代表的含义:
- 上黑线向下覆盖的区域,表示图片横向拉伸时,只拉伸该区域;
- 左黑线向右覆盖的区域,表示图片纵向拉伸时,只拉伸该区域;
- 下黑线向上覆盖的区域,表示图片横向显示内容;
- 右黑线向左覆盖的区域,表示图片纵向显示内容的区域.
关于工具的使用:
9-patch——Android制作可拉伸背景图
图文参见: Android .9文件及制作方法
7、使用SparseArray替换HashMap
Android应用性能优化之使用SparseArray替代HashMap
8、后续更新
- bug收集
- BUG 收集
- bug收集
- J2ME BUG 收集
- Unity3d之Bug收集
- Android 学习 bug收集
- border-radius bug 收集
- border-radius bug 收集
- Linq的Bug收集
- iOS bug收集
- ie6 bug 收集
- 个人BUG收集
- bug收集,点滴积累
- Android-Bug收集
- 前端之bug收集
- 训练bug收集
- android项目bug收集
- 收集一些未知Bug。
- MySQL 5.7 新特性详解
- 文章标题
- Mybatis实战教程之入门到精通(经典)
- Dubbo超时重试机制带来的数据重复问题
- 详解java序列化(一)
- BUG 收集
- List<T>的使用
- 唐巧总结的40个国人iOS技术博客
- RedHat6.x复制虚拟机后网卡变为eth1
- opencv学习日记之图像融合
- SQL多表查询——学习笔记
- 「拉勾网」薪资调查的小爬虫,并将抓取结果保存到excel中
- 自定义带删除按钮的EditText
- git pull 提示pull不下来解决办法