Android开发中的一些边缘技巧

来源:互联网 发布:淘宝京润珍珠是真的吗 编辑:程序博客网 时间:2024/06/02 02:53

隐藏软键盘:

EditText myEditText = newEditText(this);

InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
自定义全屏主题:
<style name="AppTheme.Fullscreen">    <item name="android:windowFullscreen">true</item>    <item name="android:windowContentOverlay">@null</item></style>
隐藏虚拟按键:
VideoView myVideoView = new VideoView(this);myVideoView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
弱化虚拟按键:
SurfaceView mySurfaceView = new SurfaceView(this);mySurfaceView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
开启与关闭屏幕常亮:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
确定设备的尺寸:
switch (getResources().getConfiguration().screenLayout &        Configuration.SCREENLAYOUT_SIZE_MASK) {    case Configuration.SCREENLAYOUT_SIZE_XLARGE:        break;
    case Configuration.SCREENLAYOUT_SIZE_LARGE:        break;
    case Configuration.SCREENLAYOUT_SIZE_NORMAL:        break;
    case Configuration.SCREENLAYOUT_SIZE_SMALL:        break;
    default:}
获取屏幕的宽度与高度:
Point size = new Point();getWindowManager().getDefaultDisplay().getSize(size);int screenWidth = size.x;int screenHeight = size.y;
获取设备的DPI:
int density = getResources().getDisplayMetrics().densityDpi;
if (density > DisplayMetrics.DENSITY_XXXHIGH) {    } else if (density > DisplayMetrics.DENSITY_XXHIGH) {} else if (density > DisplayMetrics.DENSITY_XHIGH) {} else if (density > DisplayMetrics.DENSITY_HIGH) {} else if (density > DisplayMetrics.DENSITY_MEDIUM) {} else if (density > DisplayMetrics.DENSITY_LOW) {}
检查网络连接的静态方法:
public static boolean isConnectedToNetwork(Context context) {    boolean isConnected = false;    ConnectivityManager manager = (ConnectivityManager) context            .getSystemService(Context.CONNECTIVITY_SERVICE);    if (manager != null) {        NetworkInfo networkInfo = manager.getActiveNetworkInfo();        if (networkInfo != null) {            isConnected = networkInfo.isConnected();        }    }    return isConnected;}
检查当前线程是否为UI线程:
if (Looper.myLooper() == Looper.getMainLooper()) {    // UI线程} else {    // 其它线程}
0 0
原创粉丝点击