Android实用代码

来源:互联网 发布:淘宝团购提醒在哪里 编辑:程序博客网 时间:2024/06/18 08:57

Android实用代码

http://my.eoe.cn/861996/archive/1366.html?f_section=hot
1、 精确获取屏幕尺寸(例如:3.5、4.0、5.0寸屏幕)
public staticdoublegetScreenPhysicalSize(Activityctx){
        DisplayMetrics dm = new DisplayMetrics();        ctx.getWindowManager().getDefaultDisplay().getMetrics(dm);        double diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2));        return diagonalPixels / (160 * dm.density);   }
一般是7寸以上是平板
2、 判断是否是平板(官方用法)
public static boolean isTablet(Context context) {        return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;}
3、 文字根据状态更改颜色 android:textColor
<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:color="#53c1bd" android:state_selected="true"/>    <item android:color="#53c1bd" android:state_focused="true"/>    <item android:color="#53c1bd" android:state_pressed="true"/>    <item android:color="#777777"/></selector>
放在res/color/目录下
4、背景色根据状态更改颜色 android:backgroup
<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_selected="true">
<shape>            <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />        </shape>
    </item>
    <item android:state_focused="true">
<shape>            <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />        </shape>
    </item>    <item android:state_pressed="true">
<shape>            <gradient android:angle="0" android:centerColor="#00a59f" android:endColor="#00a59f" android:startColor="#00a59f" />        </shape>
    </item>
    <item>
<shape>            <gradient android:angle="0" android:centerColor="#00ff00" android:endColor="00ff00" android:startColor="00ff00" />        </shape>
   </item>
</selector>
如果直接给背景色color会报错。



5、 启动APK的默认Activity

public static void startApkActivity(final Context ctx, String packageName) {        PackageManager pm = ctx.getPackageManager();        PackageInfo pi;        try {            pi = pm.getPackageInfo(packageName, 0);            Intent intent = new Intent(Intent.ACTION_MAIN, null);            intent.addCategory(Intent.CATEGORY_LAUNCHER);            intent.setPackage(pi.packageName);            List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0);            ResolveInfo ri = apps.iterator().next();            if (ri != null) {                String className = ri.activityInfo.name;                intent.setComponent(new ComponentName(packageName, className));                ctx.startActivity(intent);            }        } catch (NameNotFoundException e) {            Log.e("startActivity", e);        }    }
7、计算字宽
public static float GetTextWidth(String text, float Size) {
TextPaintFontPaint=newTextPaint();

FontPaint.setTextSize(Size);

returnFontPaint.measureText(text);

}

原创粉丝点击