Android杂谈

来源:互联网 发布:新开淘宝店要授权 编辑:程序博客网 时间:2024/05/16 12:23

在application标签内获取meta元素的值获取mata标签

  • 当value是字符串时,使用getString获取值
<meta-data     android:name="UMENG_CHANNEL"     android:value="china"/> 
try {            ApplicationInfo appInfo = getPackageManager()                    .getApplicationInfo(getPackageName(),                            PackageManager.GET_META_DATA);            String UMENG_CHANNEL = appInfo.metaData.getString("UMENG_CHANNEL");            Log.d("meta:", "UMENG_CHANNEL=" + UMENG_CHANNEL);        } catch (Exception e) {            Log.d("meta:", "exception");        }
  • 当value是字符串数字时,需要使用getInt获取值,否则获取值为null
<meta-data    android:name="width"    android:value="1080"/>
try {        ApplicationInfo appInfo = getPackageManager()                .getApplicationInfo(getPackageName(),                        PackageManager.GET_META_DATA);        int width=appInfo.metaData.getInt("design_width",0);        Log.d("meta:", "width=" + width);    } catch (Exception e) {        Log.d("meta:", "exception");    }

设置横竖屏

  • xml中设置

强制为竖屏

<activity    android:name="com.cn.MainActivity"    android:screenOrientation="portrait"/>

强制为横屏

<activity    android:name="com.cn.MainActivity"    android:screenOrientation="landscape"/> 
  • 代码中设置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);  //强制为竖屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //强制为横屏

注意

这种设置会导致生命周期重新走一遍可在AndroidManifest.xml中给Activity添加

android:configChanges="orientation|keyboardHidden|screenSize"

获取屏幕宽高、密度比

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);int width = wm.getDefaultDisplay().getWidth();int height = wm.getDefaultDisplay().getHeight();
WindowManager wm1 = this.getWindowManager();int width1 = wm1.getDefaultDisplay().getWidth();int height1 = wm1.getDefaultDisplay().getHeight();

以上过时

推荐

WindowManager manager = this.getWindowManager();DisplayMetrics metric = new DisplayMetrics();manager.getDefaultDisplay().getMetrics(metric);int width = metric.widthPixels;     // 屏幕宽度(像素)int height = metric.heightPixels;   // 屏幕高度(像素)float density = metric.density;      // 屏幕密度(0.75 / 1.0 / 1.5)int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)
Resources resources = this.getResources();DisplayMetrics dm = resources.getDisplayMetrics();int width = dm.widthPixels;int height = dm.heightPixels;float density = dm.density;

分辨率和hdpi对照表

“HVGA mdpi”
“WVGA hdpi “
“FWVGA hdpi “
“QHD hdpi “
“720P xhdpi”
“1080P xxhdpi “

Android图标尺寸

这里写图片描述

Android中Button按钮设置英文全部变成大写问题

添加属性android:textAllCaps=”false”
源码默认设置的是true,全部变成大写

原创粉丝点击