- 浏览: 26733 次
最新评论
文章列表
状态栏:
Rect rect = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
rect.top即为状态栏的高度。
标题栏: getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
注意要在onWindowFocusChanged里用这个方法,否则很有可能是0;
<script type="text/javascript">
$(funct ...
- 2016-12-24 12:03
- 浏览 497
- 评论(0)
Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().spl ...
- 2016-12-24 12:00
- 浏览 164
- 评论(0)
LayoutParams的属性:int height、int width。
MarginLayoutParams的属性:int leftMargin、int topMargin、int rightMargin、int bottomMargin。
RelativeLayout.LayoutParams的属性:自己特有的一些属性,RelativeLayout有boolean alignWithParent。
总结:这些的关联性就是其继承,RelativeLayout.LayoutParams继承自MarginLayoutParams,MarginLayoutParams继承自 ...
- 2016-12-24 11:59
- 浏览 285
- 评论(0)
getX、getY:x,y是相对于控件本身左上点的相对位置;
getRawX、getRawY:rawx,rawy是相对于屏幕左上角的位置。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
...
- 2016-12-24 11:58
- 浏览 216
- 评论(0)
JNI(Java Native Interface)java调用本地接口 的技术名词
NDK(Native Developer Kit)谷歌给开发人员的工具包
NDK 是纯 C 哦,JNI就像戴套子一样,Java 要搞 C ,中间必须隔着个 JNI。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
...
- 2016-12-24 11:57
- 浏览 259
- 评论(0)
倒腾了一下午,但其实没必要,android2.2.2对NDK开发已经非常便捷了。
只要预先在Android SDK里下载CMake、LLDB、NDK,然后在创建项目的时候勾上Include C++ Support。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).tex ...
- 2016-12-24 11:56
- 浏览 160
- 评论(0)
Sax和Pull都是基于流的解析器。
但是SAX在解析的过程中是不可控的,而PULL在解析的过程中是可控的,随便找个sax和pull的例子比较一下就可以发现,pull是一个while循环,随时可以跳出,而sax不是,sax是只要解析了,就必须解析完成。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
va ...
- 2016-12-24 11:55
- 浏览 258
- 评论(0)
当有且只有一个activity时,通过重写按下Back键的回调函数,转成Home键的效果即可。
@Override
public void onBackPressed() {
Intent home = new Intent(Intent.ACTION_MAIN);
home.addCategory(Intent.CATEGORY_HOME);
startActivity(home);
}
为达到此类效果,Activity实际上提供了直接的方法。 activity.moveTaskToBack(true);此方法直接将当前Activity所在的 ...
- 2016-12-24 11:55
- 浏览 125
- 评论(0)
想想就可以了,它的进程杀不死是因为,有些厂商如小米、华为等公司为了更好的用户体验,将其设置为了白名单,所以才杀不死的,如果不相信,可以将包名改成跟QQ一样试下。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
...
- 2016-12-24 11:53
- 浏览 266
- 评论(0)
invalidate:用在UI线程;
postInvalidate:用在非UI线程。
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = ...
- 2016-12-24 11:53
- 浏览 186
- 评论(0)
需要:目标程序的包名、主类名。
代码:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName("com.negier.bitmap", "com.negier.bitmap.MainActivity");
intent.setComponent(cn);
startActivity(intent);
com.ne ...
- 2016-12-24 11:52
- 浏览 316
- 评论(0)
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = getDefaultSize(0, widthMeasureSpec);
int height = getDefaultSize(0, heightMeasureSpec);
setMeasuredDimension(width,height);
}
...
- 2016-12-24 11:50
- 浏览 575
- 评论(0)
顾名思义他们是用来取得Drawable的固有的宽度和高度。那么问题就来了:我们有时候通过这两个方法取到的宽和高和实际的并不一样,这是怎么回事呢?
Drawable这个类是对所有可以画的东西的抽象,他可以是一张图片,也可以是实体的颜色,线等等,我们不能简单的认为它是一张图片。笔者经过实验发现,我的测试设备dpi是320,而android为了让同一个view在不同dpi的设备上大小尽量保持一致,所以其图片在mdpi、hdpi、xhdpi里展示的图片大小在不同的手机手机屏幕里面不太一样。
其单位还是px。
<script type="text/javascri ...
- 2016-12-24 11:49
- 浏览 243
- 评论(0)
onAttachedToWindow 是view 本身的回调,用于初始化一些东西相当于onstart 。当view 被添加到window中,被绘制之前的回调。如addview(this view); onDetachedFromWindow 是view 本身的回调,用于销毁一些东西onstop,当view被从window中删除时的回调。如 removeview(this view);
<script type="text/javascript">
$(function () {
$('p ...
- 2016-12-24 11:47
- 浏览 503
- 评论(0)
OnGlobalLayoutListener 是ViewTreeObserver的内部类,当一个视图树的布局发生改变时,可以被ViewTreeObserver监听到,这是一个注册监听视图树的观察者(observer),在视图树的全局事件改变时得到通知。ViewTreeObserver不能直接实例化,而是通过getViewTreeObserver()获得。
除了OnGlobalLayoutListener,ViewTreeObserver还有以下内部类:
1.ViewTreeObserver.OnGlobalFocusChangeListener
当在一个视图树中的 ...
- 2016-12-24 11:46
- 浏览 287
- 评论(0)