android 实用代码

本文介绍了一系列Android开发中实用的方法,包括获取屏幕尺寸、判断设备类型、动态改变UI元素的颜色、启动指定应用、计算文本宽度等,帮助开发者提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 放在res/color/目录下

<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>

 

 

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  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。


8. 可展开列表的group图标显示在右边 ExpandableListView

 

int width = getWindowManager().getDefaultDisplay().getWidth();

cardListView.setIndicatorBounds(width - 40, width);

cardListView.setCacheColorHint(0);

9 .设置TextView字体样式

方法1:

TextView textView = new TextView(context);

Spannable WordtoSpan = new SpannableString("大字小字");  

WordtoSpan.setSpan(new AbsoluteSizeSpan(20), 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  

WordtoSpan.setSpan(new AbsoluteSizeSpan(14), 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  

textView.setText(WordtoSpan);

方法二:

SpannableString

电动汽车数据集:2025年3K+记录 真实电动汽车数据:特斯拉、宝马、日产车型,含2025年电池规格和销售数据 关于数据集 电动汽车数据集 这个合成数据集包含许多品牌和年份的电动汽车和插电式车型的记录,捕捉技术规格、性能、定价、制造来源、销售和安全相关属性。每一行代表由vehicle_ID标识的唯一车辆列表。 关键特性 覆盖范围:全球制造商和车型组合,包括纯电动汽车和插电式混合动力汽车。 范围:电池化学成分、容量、续航里程、充电标准和速度、价格、产地、自主水平、排放、安全等级、销售和保修。 时间跨度:模型跨度多年(包括传统和即将推出的)。 数据质量说明: 某些行可能缺少某些字段(空白)。 几个分类字段包含不同的、特定于供应商的值(例如,Charging_Type、Battery_Type)。 各列中的单位混合在一起;注意kWh、km、hr、USD、g/km和额定值。 列 列类型描述示例 Vehicle_ID整数每个车辆记录的唯一标识符。1 制造商分类汽车品牌或OEM。特斯拉 型号类别特定型号名称/变体。型号Y 与记录关联的年份整数模型。2024 电池_类型分类使用的电池化学/技术。磷酸铁锂 Battery_Capacity_kWh浮充电池标称容量,单位为千瓦时。75.0 Range_km整数表示充满电后的行驶里程(公里)。505 充电类型主要充电接口或功能。CCS、NACS、CHAdeMO、DCFC、V2G、V2H、V2L Charge_Time_hr浮动充电的大致时间(小时),上下文因充电方法而异。7.5 价格_USD浮动参考车辆价格(美元).85000.00 颜色类别主要外观颜色或饰面。午夜黑 制造国_制造类别车辆制造/组装的国家。美国 Autonomous_Level浮点自动化能力级别(例如0-5),可能包括子级别的小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值