Android 笔记.代码段
来源:互联网 发布:mysql 清空数据库命令 编辑:程序博客网 时间:2024/04/30 03:05
原文出处:http://blog.csdn.net/mmmlllii/article/details/8226030
附1.后台线程设置优先级 Process.setThreadPriority()
附2.耗时的广播,使用IntentService处理繁重任务
如果onReceive()衍生了一个线程并且返回,则包涵新线程在内的整个进程都被会判为失活状态(除非进程内的其它应用程序组件仍处于活跃状态),于是它就有可能被杀掉。这个问题的解决方法是令onReceive()启动一个新服务,并用其完成任务,于是系统就会知道进程中仍然在处理着工作。
int THREAD_PRIORITY_AUDIO //标准音乐播放使用的线程优先级
int THREAD_PRIORITY_BACKGROUND //标准后台程序
int THREAD_PRIORITY_DEFAULT // 默认应用的优先级
int THREAD_PRIORITY_DISPLAY //标准显示系统优先级,主要是改善UI的刷新
int THREAD_PRIORITY_FOREGROUND //标准前台线程优先级
int THREAD_PRIORITY_LESS_FAVORABLE //低于favorable
int THREAD_PRIORITY_LOWEST //有效的线程最低的优先级
int THREAD_PRIORITY_MORE_FAVORABLE //高于favorable
int THREAD_PRIORITY_URGENT_AUDIO //标准较重要音频播放优先级
int THREAD_PRIORITY_URGENT_DISPLAY //标准较重要显示优先级,对于输入事件同样适用
1.onCLick
if (System.currentTimeMillis() - mLastClickTime < 300) { // in order to avoid user click bottom too quickly return; } if (!button.isEnabled()) return; mLastClickTime = System.currentTimeMillis(); mLastButtonId = button.getId();
这样写,在一般场景下会更严谨,防止一些重复点击之类的操作,可以根据自己的情况,在进行添加.
2.TextView跑马灯
android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:singleLine="true"
这个跑马灯需要在获取焦点的时候才能有效果.
不获取焦点也有跑马灯效果.
自定义一个TextView,它继承TextView,并且重写isFocuse()方法,让它永远返回true.
3.SlidingDrawer 点击事件传递到下面布局的问题.
今天看到一个,在使用了SlidingDrawer ,open状态下,仍然能触发抽屉覆盖的View点击事件.
解决办法.在content 添加 android:clickable="true" 属性. 猜测应该是因为 默认的content没有任何事件,就传递到下面.
4.Android 4.0 HttpURLConnection 下载失败问题
http://blog.csdn.net/mmmlllii/article/details/8000081
5.View高度获取
在OnCreate()方法中获取控件的高度和宽度,需要使用的一个观察者(否则得到的height, paddingTop等数据为0,因onCreate()执行时,控件还未加载完成)
ViewTreeObserver vto = imageview.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // 此句若不执行,不影响控件宽高的获取结果,但是当前的onGlobalLayout()会执行多次,执行此句,当前方法只会执行一次 imageview.getViewTreeObserver().removeGlobalOnLayoutListener( this); Log.i("TAG", imageview.getMeasuredHeight() + " -- - " + imageview.getHeight()); } });
6.页面跳转动画 android:minSdkVersion="8"
Intent intent = new Intent(TransitionActivity.this, DeviceActivity.class); startActivity(intent); finish(); //页面切换 -- 淡入淡出效果 overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
7. Dialog宽度设置.
WindowManager m = getWindowManager(); Display d = m.getDefaultDisplay(); //为获取屏幕宽、高 LayoutParams p = getWindow().getAttributes(); //获取对话框当前的参数值 Point outSize = new Point(); d.getSize(outSize); Log.i(TAG, outSize.x + "-" + outSize.y); p.width = (int) (outSize.x * 0.6); p.alpha = 1.0f; p.dimAmount = 0.7f; p.gravity = Gravity.CENTER; getWindow().setAttributes(p);
8.Android 4.0 WebView loadData 加载中文乱码
10.Webview--让加载进来的页面自适应手机屏幕分辨率居中显示.
10让Webview加载的页面居中显示有我知道的俩种方法第一种:
[java]
WebSettings settings = webView.getSettings();
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
LayoutAlgorithm是一个枚举用来控制页面的布局,有三个类型:
1.NARROW_COLUMNS:可能的话使所有列的宽度不超过屏幕宽度
2.NORMAL:正常显示不做任何渲染
3.SINGLE_COLUMN:把所有内容放大webview等宽的一列中
用SINGLE_COLUMN类型可以设置页面居中显示,页面可以放大缩小,但这种方法不怎么好,有时候会让你的页面布局走样而且我测了一下,只能显示中间那一块,超出屏幕的部分都不能显示。
第二种方法:
[java]
//设置加载进来的页面自适应手机屏幕
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
第一个方法设置webview推荐使用的窗口,设置为true。第二个方法是设置webview加载的页面的模式,也设置为true。
这方法可以让你的页面适应手机屏幕的分辨率,完整的显示在屏幕上,可以放大缩小。
推荐使用第二张方法
- Android 笔记.代码段
- Android常用代码段
- Android 代码段
- Android应用代码段
- 常用android代码段
- Android常用代码段
- Android常用代码段
- Android Android实用代码段
- Android实用代码七段
- Android实用代码七段
- android 截屏代码段
- android实用代码段2
- Android 复制文本代码段
- 读lucene的索引段代码笔记
- ArcGIS Engine代码段笔记【一】
- Android实用代码七段(二)
- Android实用代码七段(三)
- Android实用代码七段(二)
- 张小娴
- 运用hadoop计算TF-IDF续-支持中文读取-支持文件输出控制
- linux并发控制之总章
- 如何最快测试CPU是大端机还是小端机?
- jquery中queue和dequeue函数队列的demo可以直接运行
- Android 笔记.代码段
- 发现了Number.MAX_VALUE和Number.MIN_VALUE的好处
- asp.net 练习正则表达式
- Png的秘密
- php wsdl SOAP WebService
- ios开发基础教程
- iphone ios HTTP Live Streaming
- __attribute__ ((packed))字节对齐
- OpenRTMFP服务器的编译、运行(Windows环境下,VS2010开发环境)