安卓实用方法总结(更新中……)
来源:互联网 发布:怎么查看图片 html源码 编辑:程序博客网 时间:2024/05/22 15:25
在开发中,往往会遇到很多需要将一个功能封装成一个方法。再此,我从工作中总结出来了一些,以方便以后在开发中能够快速的运用。这些是综合了很多人的经验,也不能算是原创了吧,我也忘记了是从哪儿借鉴的了,在此就不列出了。如有雷同,纯属巧合。当然,如果有不对的地方,也请大家多多指教。
一、获取应用版本
public static String getVersionName(Context context) { String version = ""; try { // 获取PackageManager的实例 PackageManager packageManager = context.getPackageManager(); // getPackageName()获取的是你当前类的包名,0代表是获取版本信息 PackageInfo packInfo = packageManager.getPackageInfo( context.getApplicationContext().getPackageName(), 0); version = packInfo.versionName; } catch (Exception e) { } return version; }
二、实现沉浸式状态栏
java代码片段:
private void setSystemBar() { if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) { // 透明状态栏 getWindow().addFlags( WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); // 透明导航栏 getWindow().addFlags( WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } }
xml代码片段:在当前activity的布局文件中的根布局中添加下面三句代码,其中背景颜色就是你想要设置的颜色。
android:clipToPadding="true" android:fitsSystemWindows="true" android:background="#ef777d"
三、Android中dp和px之间的转换
java代码片段:
/*** 根据手机的分辨率从 dp 的单位 转成为 px(像素) * @param context* @param dpValue * @return */public static int dip2px(Context context, float dpValue) { final float scale= context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }
四、获取控件宽高
java代码片段:
ViewTreeObserver vto = view.getViewTreeObserver();vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { view.getViewTreeObserver().removeGlobalOnLayoutListener(this); int height = view.getHeight(); int width = view.getWidth(); }});
五、判断当前网络是否可用
/*** 判断当前网络是否可用* @return*/public static boolean isNetworkAvailable() {// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (manager == null) { return false; } else { // 获取对象 NetworkInfo[] networkInfo=manager.getAllNetworkInfo(); if (networkInfo != null && networkInfo.length > 0) { for (int i = 0; i < networkInfo.length; i++) { // 判断当前网络状态是否为连接状态 if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } }}return false;}
0 0
- 安卓实用方法总结(更新中……)
- 【安卓】安卓资源获取总结更新中
- 安卓开发中实用的查看日志方法
- 安卓开发中实用的查看日志方法
- 安卓实用方法,类,接口
- 实用Google 搜索方法总结(持续更新)
- 安卓图像更新学习总结
- 安卓学习笔记之Handler更新UI的几种方法总结
- 安卓开发过程遇到的工具方法总结(持续更新~~)
- editplus网上收集的一些实用方法--持续更新中
- 安卓状态栏通知Notification方法更新
- 安卓 异步方法总结
- 自己总结的一些安卓的实用小技巧
- 实用工作经验总结-持续更新
- 安卓框架 Demo (更新中 )
- 安卓-子线程中更新UI的几种常见方法
- iOS开发中一些实用方法的总结
- Python中os和shutil模块实用方法集…
- Ubuntu14.04 创建应用图标
- 使用FreeMarker导出复杂的Word(具体实现)
- unity3d 如何得到当前物体播放的动画
- Linux与Window文件共享
- 基于XMPP协议的aSmack源码分析【2】PacketReader
- 安卓实用方法总结(更新中……)
- IOS NSString类字符串拼接与截取注意点
- 基于XMPP协议的aSmack源码分析【3】register过程分析
- 百度云播放视频尺寸加大的方法
- 基于XMPP协议的aSmack源码分析【0】UML
- C#操作Excel文件(读取Excel,写入Excel)
- 如何写出一篇高质量的技术解决方案文档(一)
- 《将博客搬至CSDN》
- 文字保护纱-Material Design