日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android实用代码

發(fā)布時間:2023/11/30 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android实用代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Android實用代碼七段(一)

?

前言

?這里積累了一些不常見確又很實用的代碼,每收集7條更新一次,希望能對大家有用。

?

聲明

  歡迎轉(zhuǎn)載,但請保留文章原始出處:)?
    博客園:http://www.cnblogs.com

    農(nóng)民伯伯: http://over140.cnblogs.com ??

?

正文?

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、 文字根據(jù)狀態(tài)更改顏色?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、背景色根據(jù)狀態(tài)更改顏色 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);
????}

?

?

注意如果設(shè)置了textStyle,還需要進一步設(shè)置TextPaint。?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/pbq-dream/p/5354129.html

總結(jié)

以上是生活随笔為你收集整理的android实用代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。