Util:ToolFor9Ge

public class ToolFor9Ge{
// 缩放/裁剪图片
  public static Bitmap zoomImg(Bitmap bm, int newWidth ,int newHeight){ 
    // 获得图片的宽高
    int width = bm.getWidth();
    int height = bm.getHeight();
    // 计算缩放比例
    float scaleWidth = ((float) newWidth) / width;
    float scaleHeight = ((float) newHeight) / height;
    // 取得想要缩放的matrix参数
    Matrix matrix = new Matrix();
    matrix.postScale(scaleWidth, scaleHeight);
    // 得到新的图片
    Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
    return newbm;
  }
 
  // 判断有无网络链接
  public static boolean checkNetworkInfo(Context mContext) {
    ConnectivityManager conMan = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
    State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
    State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
    if (mobile == State.CONNECTED || mobile == State.CONNECTING)
      return true;
    if (wifi == State.CONNECTED || wifi == State.CONNECTING)
      return true;
    return false;
  }
 
  // 从路径获取文件名
  public static String getFileName(String pathandname){ 
  int start=pathandname.lastIndexOf("/");  
         int end=pathandname.lastIndexOf(".");  
         if(start!=-1 && end!=-1){  
             return pathandname.substring(start+1,end);    
         }else{  
             return null;  
         }             
  }
 
  // 通过路径生成Base64文件
  public static String getBase64FromPath(String path){
  String base64="";
  try{
  File file = new File(path);
  byte[] buffer = new byte[(int) file.length() + 100];  
@SuppressWarnings("resource")
int length = new FileInputStream(file).read(buffer);  
         base64 = Base64.encodeToString(buffer, 0, length,  Base64.DEFAULT);
  }
  catch (IOException e) {
e.printStackTrace();
}
  return base64;
  }
 
  //通过文件路径获取到bitmap
  public static Bitmap getBitmapFromPath(String path, int w, int h) {
BitmapFactory.Options opts = new BitmapFactory.Options();
// 设置为ture只获取图片大小
opts.inJustDecodeBounds = true;
opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
// 返回为空
BitmapFactory.decodeFile(path, opts);
int width = opts.outWidth;
int height = opts.outHeight;
float scaleWidth = 0.f, scaleHeight = 0.f;
if (width > w || height > h) {
// 缩放
scaleWidth = ((float) width) / w;
scaleHeight = ((float) height) / h;
}
opts.inJustDecodeBounds = false;
float scale = Math.max(scaleWidth, scaleHeight);
opts.inSampleSize = (int)scale;
WeakReference<Bitmap> weak = new WeakReference<Bitmap>(BitmapFactory.decodeFile(path, opts));
return Bitmap.createScaledBitmap(weak.get(), w, h, true);
}
 
  //把bitmap转换成base64
  public static String getBase64FromBitmap(Bitmap bitmap, int bitmapQuality){
  ByteArrayOutputStream bStream = new ByteArrayOutputStream();
  bitmap.compress(CompressFormat.PNG, bitmapQuality, bStream);
  byte[] bytes = bStream.toByteArray();
  return Base64.encodeToString(bytes, Base64.DEFAULT);
  }
 
  //把base64转换成bitmap
  public static Bitmap getBitmapFromBase64(String string){
  byte[] bitmapArray = null;
  try {
  bitmapArray = Base64.decode(string, Base64.DEFAULT);
  } catch (Exception e) {
  e.printStackTrace();
  }
  return BitmapFactory.decodeByteArray(bitmapArray, 0,bitmapArray.length);
  }
 
  //把Stream转换成String
  public static String convertStreamToString(InputStream is) {
  BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "/n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
  }
 
  // 修改整个界面所有控件的字体
  public static void changeFonts(ViewGroup root,String path, Activity act) {  
        //path是字体路径
  Typeface tf = Typeface.createFromAsset(act.getAssets(),path);  
        for (int i = 0; i < root.getChildCount(); i++) {  
            View v = root.getChildAt(i); 
            if (v instanceof TextView) {  
               ((TextView) v).setTypeface(tf);  
            } else if (v instanceof Button) {  
               ((Button) v).setTypeface(tf);  
            } else if (v instanceof EditText) {  
               ((EditText) v).setTypeface(tf);  
            } else if (v instanceof ViewGroup) {  
               changeFonts((ViewGroup) v, path,act);  
            } 
        }  
     }
 
  // 修改整个界面所有控件的字体大小
  public static void changeTextSize(ViewGroup root,int size, Activity act) {  
         for (int i = 0; i < root.getChildCount(); i++) {  
             View v = root.getChildAt(i);  
             if (v instanceof TextView) {  
                ((TextView) v).setTextSize(size);
             } else if (v instanceof Button) {  
            ((Button) v).setTextSize(size);
             } else if (v instanceof EditText) {  
            ((EditText) v).setTextSize(size);  
             } else if (v instanceof ViewGroup) {  
                changeTextSize((ViewGroup) v,size,act);  
             }  
         }  
      }
 
  // 不改变控件位置,修改控件大小
public static void changeWH(View v,int W,int H){
   LayoutParams params = (LayoutParams)v.getLayoutParams();
   params.width = W;
   params.height = H;
   v.setLayoutParams(params);
}

// 修改控件的高
public static void changeH(View v,int H){
   LayoutParams params = (LayoutParams)v.getLayoutParams();
   params.height = H;
   v.setLayoutParams(params);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值