公共代码参考(DisplayMetrics)

package com.fredric.util;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.WindowManager;

/*-
 * 屏幕交互类封装
 */

public class ScreenUtils {

    //获取屏幕宽度
    public static int getScreenWidth(Context context){
        WindowManager wm = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        //DisplayMetrics提供关于现实的通用信息
        DisplayMetrics display = new DisplayMetrics();
        //将当前窗口信息放置入display
        wm.getDefaultDisplay().getMetrics(display);
        //返回绝对像素
        return display.widthPixels;
    }

    //获取屏幕高度
    public static int getScreenHeight(Context context){

        WindowManager wm = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics display = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(display);
        return display.heightPixels;
    }

    //截屏
    public static Bitmap getSnapShot(Activity activity){

        //decorView是window的最顶层view
        View view = activity.getWindow().getDecorView();
        //view组件的内容通过cache机制保存至bitmap
        //setDrawingCacheEnabled 开启cache
        //getDrawingCache 获取view的cache图片
        //buildDrawingCache 可不调用,若getDrawingCache调用时cache没有建立则调用
        //destoryDrawingCache 销毁cache,setDrawingCacheEnabled(false)也可销毁cache
        //cache若要更新则必须先销毁旧cache
        view.setDrawingCacheEnabled(true);

        Bitmap bp  = null;
        int width  = getScreenWidth(activity);
        int height = getScreenHeight(activity);
        bp = Bitmap.createBitmap(view.getDrawingCache(), 0, 0, width, height);
        view.destroyDrawingCache();
        return bp;
    }
}
时间: 2024-10-08 22:00:03

公共代码参考(DisplayMetrics)的相关文章

公共代码参考(Volley)

Volley 是google提供的一个网络库,相对于自己写httpclient确实方便很多,本文参考部分网上例子整理如下,以作备忘: 定义一个缓存类: public class BitmapCache implements ImageCache { private LruCache<String, Bitmap> cache; public BitmapCache() { /*LruCache使用一个LinkedHashMap简单的实现内存的缓存, 没有软引用,都是强引用.如果添加的数据大于设

公共代码参考(httpclient)

public class HttpClientUtils { private static final String CHARSET = "UTF-8"; /* * http get请求 * * @param url * * @param params * * @return */ public static String httpGet(String url, Map<String, String> params) { if (true == StringUtils.is

公共代码参考(ConnectivityManager)

package com.fredric.util; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.NetworkInfo.State; /*- * 网络工具类 */ public class NetUtils { //判断网络是否连接 public static boolean isConnecte

公共代码参考(SDCard)

package com.fredric.util; /*- * SD卡操作的工具类封装 */ import java.io.File; import android.os.Environment; import android.os.StatFs; public class SDCardUtils { //判断SA卡是否被正常加载 //Environment是android一个访问环境变量的类 //MEDIA_MOUNTED SD卡正常挂载 //MEDIA_REMOVED 无介质 //MEDIA

公共代码参考(SQLiteOpenHelper)

package com.fredric.util; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android

公共代码参考(TypedValue)

package com.fredric.util; import android.content.Context; import android.util.TypedValue; /*- * 像素转换相关 * COMPLEX_UNIT_PX:像素 * COMPLEX_UNIT_DIP:设备独立像素(与硬件设备无关) * COMPLEX_UNIT_PT:标准长度单位1/72英寸 * COMPLEX_UNIT_IN:英寸 * COMPLEX_UNIT_MM:毫米 * Google建议: * 像素类的

公共代码参考(PackageManager)

package com.fredric.util; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; /*- * APP辅助类 */ public class AppUtils { //获取APP

通达OA公共代码 php常用检测函数

通达OA公共代码 php常用检测函数 从通达OA公共代码扒下的php常用检测函数代码,学习php的朋友可以参考下. check_type.php(使用类型检验函数) 复制代码 代码如下: <?php /*********************/ /* */ /* Version : 5.1.0 */ /* Author : RM */ /* Comment : 071223 */ /* */ /*********************/ function is_number( $str )

如何在vuejs中抽出公共代码

当我们在使用vue构建中大型项目时,通常会遇到某些经常用的方法以及属性,比如说搭建一个员工管理系统,请求的url需要一个共同的前缀,或者在某几个view中需要用到时间,这个时间是通过某方法格式化之后的等等,如果每次用到都写共同的代码,那样如果之后有变动的话维护起来会非常麻烦. 所以我们就得想办法抽出公共代码,因为vue是组件化开发,我们就会很自然的与es6的module模块化联系到一起.其实当我们在搭建项目结构时就应该先提前埋下伏笔,有一个util文件夹,里面放的就是我们要写的公共代码,其实很多