android一些方法代碼

來源:互聯網
上載者:User
1、精確擷取螢幕尺寸(例如:3.5、4.0、5.0寸螢幕)     public static double getScreenPhysicalSize(Activity ctx) {        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) {        TextPaint FontPaint = new TextPaint();        FontPaint.setTextSize(Size);        return FontPaint.measureText(text);    }注意如果設定了textStyle,還需要進一步設定TextPaint。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.