android小知识点

来源:互联网 发布:传智播客java视频下载 编辑:程序博客网 时间:2024/06/05 08:44

android小知识点:

requestWindowFeature(Window.FEATURE_NO_TITLE);
//隐藏标题栏。这行代码一定要在setContentView()之前执行。

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏显示

//获取屏幕信息
WindowManager windowManager =getWindowManager();
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
//获取屏幕宽高
int sw = displayMetrics.widthPixels;
int sh = displayMetrics.heightPixels;

//在应用程序中强制设置竖屏(portrait)或横屏(landscape)
//a,在activity类oncreate()方法中添加:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//b,在AndroidManifest.mxl里Activity定义中添加:
android:screenOrientation= “portrait”

//明文显示
editText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
//密文显示
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());

// 切换后将EditText光标置于末尾
CharSequence charSequence = editText.getText();
if (charSequence instanceof Spannable) {
Spannable spanText = (Spannable) charSequence;
election.setSelection(spanText, charSequence.length());
}

这里写图片描述

这里写图片描述

Android快速开发系列 5个常用工具类

1,SD卡相关辅助类 SDCardUtils

import android.os.Environment;import android.os.StatFs;import java.io.File;/** * SD卡相关的辅助类 * Created by Administrator on 2016/12/21. */public class SDCardUtils {    private SDCardUtils() {          /* cannot be instantiated */        throw new UnsupportedOperationException("cannot be instantiated");    }    /**     * 判断SDCard是否可用     *     * @return     */    public static boolean isSDCardEnable() {        return Environment.getExternalStorageState().equals(                Environment.MEDIA_MOUNTED);    }    /**     * 获取SD卡路径     *     * @return     */    public static String getSDCardPath() {        return Environment.getExternalStorageDirectory().getAbsolutePath()                + File.separator;    }    /**     * 获取SD卡的剩余容量 单位byte     *     * @return     */    public static long getSDCardAllSize() {        if (isSDCardEnable()) {            StatFs stat = new StatFs(getSDCardPath());            // 获取空闲的数据块的数量              long availableBlocks = (long) stat.getAvailableBlocks() - 4;            // 获取单个数据块的大小(byte)              long freeBlocks = stat.getAvailableBlocks();            return freeBlocks * availableBlocks;        }        return 0;    }    /**     * 获取指定路径所在空间的剩余可用容量字节数,单位byte     *     * @param filePath     * @return 容量字节 SDCard可用空间,内部存储可用空间     */    public static long getFreeBytes(String filePath) {        // 如果是sd卡的下的路径,则获取sd卡可用容量          if (filePath.startsWith(getSDCardPath())) {            filePath = getSDCardPath();        } else {// 如果是内部存储的路径,则获取内存存储的可用容量              filePath = Environment.getDataDirectory().getAbsolutePath();        }        StatFs stat = new StatFs(filePath);        long availableBlocks = (long) stat.getAvailableBlocks() - 4;        return stat.getBlockSize() * availableBlocks;    }    /**     * 获取系统存储路径     *     * @return     */    public static String getRootDirectoryPath() {        return Environment.getRootDirectory().getAbsolutePath();    }}  

2,屏幕相关辅助类 ScreenUtils

import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Rect;import android.util.DisplayMetrics;import android.view.View;import android.view.WindowManager;/** * 获得屏幕相关的辅助类 */public class ScreenUtils {    private ScreenUtils() {        /* cannot be instantiated */        throw new UnsupportedOperationException("cannot be instantiated");    }    /**     * 获得屏幕高度     *     * @param context     * @return     */    public static int getScreenWidth(Context context) {        WindowManager wm = (WindowManager) context                .getSystemService(Context.WINDOW_SERVICE);        DisplayMetrics outMetrics = new DisplayMetrics();        wm.getDefaultDisplay().getMetrics(outMetrics);        return outMetrics.widthPixels;    }    /**     * 获得屏幕宽度     *     * @param context     * @return     */    public static int getScreenHeight(Context context) {        WindowManager wm = (WindowManager) context                .getSystemService(Context.WINDOW_SERVICE);        DisplayMetrics outMetrics = new DisplayMetrics();        wm.getDefaultDisplay().getMetrics(outMetrics);        return outMetrics.heightPixels;    }    /**     * 获得状态栏的高度     *     * @param context     * @return     */    public static int getStatusHeight(Context context) {        int statusHeight = -1;        try {            Class<?> clazz = Class.forName("com.android.internal.R$dimen");            Object object = clazz.newInstance();            int height = Integer.parseInt(clazz.getField("status_bar_height")                    .get(object).toString());            statusHeight = context.getResources().getDimensionPixelSize(height);        } catch (Exception e) {            e.printStackTrace();        }        return statusHeight;    }    /**     * 获取当前屏幕截图,包含状态栏     *     * @param activity     * @return     */    public static Bitmap snapShotWithStatusBar(Activity activity) {        View view = activity.getWindow().getDecorView();        view.setDrawingCacheEnabled(true);        view.buildDrawingCache();        Bitmap bmp = view.getDrawingCache();        int width = getScreenWidth(activity);        int height = getScreenHeight(activity);        Bitmap bp = null;        bp = Bitmap.createBitmap(bmp, 0, 0, width, height);        view.destroyDrawingCache();        return bp;    }    /**     * 获取当前屏幕截图,不包含状态栏     *     * @param activity     * @return     */    public static Bitmap snapShotWithoutStatusBar(Activity activity) {        View view = activity.getWindow().getDecorView();        view.setDrawingCacheEnabled(true);        view.buildDrawingCache();        Bitmap bmp = view.getDrawingCache();        Rect frame = new Rect();        activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);        int statusBarHeight = frame.top;        int width = getScreenWidth(activity);        int height = getScreenHeight(activity);        Bitmap bp = null;        bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height                - statusBarHeight);        view.destroyDrawingCache();        return bp;    }}

3,App相关辅助类 AppUtils

/**  * 跟App相关的辅助类  *   *   *   */  public class AppUtils  {      private AppUtils()      {          /* cannot be instantiated */          throw new UnsupportedOperationException("cannot be instantiated");      }      /**      * 获取应用程序名称      */      public static String getAppName(Context context)      {          try          {              PackageManager packageManager = context.getPackageManager();              PackageInfo packageInfo = packageManager.getPackageInfo(                      context.getPackageName(), 0);              int labelRes = packageInfo.applicationInfo.labelRes;              return context.getResources().getString(labelRes);          } catch (NameNotFoundException e)          {              e.printStackTrace();          }          return null;      }      /**      * [获取应用程序版本名称信息]      *       * @param context      * @return 当前应用的版本名称      */      public static String getVersionName(Context context)      {          try          {              PackageManager packageManager = context.getPackageManager();              PackageInfo packageInfo = packageManager.getPackageInfo(                      context.getPackageName(), 0);              return packageInfo.versionName;          } catch (NameNotFoundException e)          {              e.printStackTrace();          }          return null;      }  }  

4,软键盘相关辅助类 KeyBoardUtils

import android.content.Context;  import android.view.inputmethod.InputMethodManager;  import android.widget.EditText;  /**  * 打开或关闭软键盘  *   * @author zhy  *   */  public class KeyBoardUtils  {      /**      * 打卡软键盘      *       * @param mEditText      *            输入框      * @param mContext      *            上下文      */      public static void openKeybord(EditText mEditText, Context mContext)      {          InputMethodManager imm = (InputMethodManager) mContext                  .getSystemService(Context.INPUT_METHOD_SERVICE);          imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);          imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,                  InputMethodManager.HIDE_IMPLICIT_ONLY);      }      /**      * 关闭软键盘      *       * @param mEditText      *            输入框      * @param mContext      *            上下文      */      public static void closeKeybord(EditText mEditText, Context mContext)      {          InputMethodManager imm = (InputMethodManager) mContext                  .getSystemService(Context.INPUT_METHOD_SERVICE);          imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);      }  }  

5,网络相关辅助类 NetUtils

import android.app.Activity;  import android.content.ComponentName;  import android.content.Context;  import android.content.Intent;  import android.net.ConnectivityManager;  import android.net.NetworkInfo;  /**  * 跟网络相关的工具类  *   *   *   */  public class NetUtils  {      private NetUtils()      {          /* cannot be instantiated */          throw new UnsupportedOperationException("cannot be instantiated");      }      /**      * 判断网络是否连接      *       * @param context      * @return      */      public static boolean isConnected(Context context)      {          ConnectivityManager connectivity = (ConnectivityManager) context                  .getSystemService(Context.CONNECTIVITY_SERVICE);          if (null != connectivity)          {              NetworkInfo info = connectivity.getActiveNetworkInfo();              if (null != info && info.isConnected())              {                  if (info.getState() == NetworkInfo.State.CONNECTED)                  {                      return true;                  }              }          }          return false;      }      /**      * 判断是否是wifi连接      */      public static boolean isWifi(Context context)      {          ConnectivityManager cm = (ConnectivityManager) context                  .getSystemService(Context.CONNECTIVITY_SERVICE);          if (cm == null)              return false;          return cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI;      }      /**      * 打开网络设置界面      */      public static void openSetting(Activity activity)      {          Intent intent = new Intent("/");          ComponentName cm = new ComponentName("com.android.settings",                  "com.android.settings.WirelessSettings");          intent.setComponent(cm);          intent.setAction("android.intent.action.VIEW");          activity.startActivityForResult(intent, 0);      }  }  
0 0
原创粉丝点击