项目开发的总结很多,没有办法一个一个分类进行总结,在这里只是把自己的一些随心笔记整理出来。
布局中 wight的属性计算公式:
控件的width(计算结果)=控件的宽度(本身的宽度值)+剩余空间的宽度*weight比例值。ImagView的BackGroud与Src属性区别:
A、区别就是Src会被当做内容(所以会被Padding有影响),而BackGround不会,只是当做背景。
B、Src会根据图片内容进行包含,而BackGround会根据ImagView的宽度进行填充(拉伸).动态加载一个Layout布局文件成一个View,在XML中最外层View设置的Magin属性会失效,必须在代码中重新设置才行。
解释:举一个很简单的例子:ListView列表项的布局文件,最外层的View如果设置了margin属性那么将会失效,只有在代码中进行设置才行。具体什么原因还不知道,估计得看源码才知道……例如: ImageView image = (ImageView) findViewById(R.id.main_image); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(image.getLayoutParams()); lp.setMargins(50, 100, 0, 0); image.setLayoutParams(lp);
9.png图片一条边不能设置两个阴影区域:这个是我自己不小心将.9.png设置了两个阴影区域,导致编译器报错了。
代码中获取的View的高度、宽度、屏幕的宽高等单位都是px(像素), 比如获取一个dimen为30sp的文字大小,在代码中访问就是30px,然后如果直接设置30px就会造成与实际不符。解决方案:将30px转换成30sp设置即可。
ScollView使用总结:这个在我的博客里面单独做了介绍。
A、特殊类型的FragmentLayout,只能包含一个子视图或者视图组。
B、最好不要包含具有滚动效果的组件,滚动效果可能会失效。
C、直接滚动到底部/顶部:ScollView.fullScroll(ScollView.Focus_Down)
D、滚动到指定位置:
ScollView.smoothScrollTo(int x,int y)绝对位置
ScollView.smoothScrollBy(int x,int y)相对位置(滑动的是增量)
ScollView的smoothScrollTo与ScrollTo()区别?当时给自己留下了这个问题,明天再来解答。关于自定义属性在XML中访问:这个坑遇到了一两次,现在做好记录预防下次犯错。
A.定义属性:<declare-styleable name="MarTextView"> <attr name="scrollspeed" format="integer"/> </declare-styleable>
B.访问:
名称空间:记得加上名称空间xmlns:test="http://schemas.android.com/apk/res-auto" 访问:test:scrollspeed="50"