摘要:
private boolean isZh() {Locale locale =getResources().getConfiguration().locale;String language = locale.getLanguage();if (language.endsWith("zh"))return true;elsereturn false; }其中languag为语言码:zh:汉语en:英语。。。。 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(400)
评论(0)
推荐(0)
摘要:
一般的View截屏实现代码如下:View view =activity.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bitmap= view.getDrawingCache();但对于SurfaceView来说,这样截屏就会痴线黑屏!百度google了一番,原来SurfaceView的实现原理和一般的View不同。SurfaceView通常有两个buffer,一个frontbuffer,一个back buffer。而back buffer就是Canva. 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(805)
评论(0)
推荐(0)
摘要:
Android中电池信息(Battery information)的取得就是写一个BroadcastReceiver接受广播信息即可。在BroadcastReceiver的onReceive()事件,接收到的Intent.ACTION_BATTERY_CHANGED,包括下面的信息。“status”(int类型)…状态,定义值是BatteryManager.BATTERY_STATUS_XXX。“health”(int类型)…健康,定义值是BatteryManager.BATTERY_HEALTH_XXX。“present”(boolean类型)“level”(int类型)…电池剩余容量“s. 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(789)
评论(0)
推荐(0)
摘要:
原来使用Activity.overridePendingTransition来自定义Activity的进入动画。现在发现用Theme和Style也可以实现。具体是这样子的:在AndroidManifest里面,对于application和activity标签可以定义theme属性。如果对Application定义了某一个属性,那么会对所有的activity产生影响。然后在values/themes.xml中 在values/styles.xml中这样就可以了,至于anim中的动画,就自己定义啦,这个和普通的animation是一样的,如果不知道的话,请参见http://developer.a. 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(292)
评论(0)
推荐(0)
摘要:
重写finish()方法:@Overridepublic voidfinish() {//super.finish();moveTaskToBack(true);//设置该activity永不过期,即不执行onDestroy()}调用moveTaskToBack(true),这样只有在第一次启动的时候会执行onCreate()。以后(只要进程不死掉)都不会执行onCreate() 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(1062)
评论(0)
推荐(0)
摘要:
Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢?以下几种比较简单方法可以实现!1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //获取PIDSystem.exit(0);//常规java、c#的标准退出法,返回值为0代表正常退出2. 任务管理器方法首先要说明该方法运行在Android 1.5 APILevel为3以上才可以,同时需要权限ActivityManager a 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(684)
评论(0)
推荐(0)
摘要:
public static Integer[] getRandomId(int n) {Integer[] arryRandom = new Integer[n];for (int i = 0; i < n; i++)arryRandom[i] = i;List list = Arrays.asList(arryRandom);Collections.shuffle(list);return arryRandom; } 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(173)
评论(0)
推荐(0)
摘要:
public static boolean checkConnected(Context context) { NetworkInfoinfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); return (info!= null) && (info.isConnected()); }返回ture,则网络已开、可用! 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(114)
评论(0)
推荐(0)
摘要:
有时在view切换时,需要恢复listView之前滚动到的位置,常用的三种方法如下:1、记录listView滚动到的位置的坐标,然后利用listView.scrollTo精确的进行恢复listView.setOnScrollListener(new OnScrollListener() {@Override public voidonScrollStateChanged(AbsListView view, int scrollState) {if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { if(currentMenuInfo!= 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(203)
评论(0)
推荐(0)
摘要:
Toast是Android中用来显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点,而且Toast显示的时间有限,过一定的时间就会自动消失。Toast一般用来提示用户的误操作。但是如果同时显示多个Toast信息提示框,系统会将这些Toast信息提示框放到队列中,等前一个Toast信息提示框关闭后才会显示下一个Toast信息提示框。当用户在某些情况下,误操作多次时,使用Toast提示会出现很多个Toast依次显示,在页面上停留很长时间,用户体验很不好!为了解决这一问题,每次创建Toast时先做一下判断,如果前面有Toast在显示,只需调用Toast中的setText()方法将要. 阅读全文
posted @ 2013-05-31 13:02
crane13
阅读(1365)
评论(0)
推荐(0)

浙公网安备 33010602011771号