栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-09-26 Android: /system/build.prop ro.sf.lcd

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-09-26 Android: /system/build.prop ro.sf.lcd

一,ro.sf.lcd_density属性指定了这个机型使用的dpi是多少,dpi全称是dots per inch,对角线每英寸的像素点的个数。

二、dp也叫dip,是device independent pixels。设备不依赖像素的一个单位。在不同的像素密度的设备上会自动适配,

        1、比如:

         在320x480分辨率,像素密度为160,1dp=1px

         在480x800分辨率,像素密度为240,1dp=1.5px

         计算公式:px = dp * (dpi/160)

        2、其中的 160 是基准值不会变的, dpi就是我们android设备中的 /system/build.prop 文件,其中有一行是这样:ro.sf.lcd_density=160  

三、这里我们写个小app做个实验测试一下。

       1、布局文件中srcmainreslayoutactivity_main.xml定义一个button

            android:layout_width="120dp"

            android:layout_height="60dp"

        2、srcmainjavacomgiadadensityMainActivity.java

package com.giada.density;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    Button  mButton;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mButton = (Button) findViewById(R.id.button);

    }

    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
            case R.id.button:
                Toast.makeText(this,  + mButton.getWidth() + "/" + mButton.getHeight() , Toast.LENGTH_SHORT).show();

                
                DisplayMetrics dm = new DisplayMetrics();
                getWindowManager().getDefaultDisplay().getMetrics(dm);
                Log.d("giada_density",  mButton.getWidth() + "/" + mButton.getHeight()+"  dm.density="+dm.density+"  dm.densityDpi="+dm.densityDpi);
                break;
            default:
                break;
        }
    }

}

        3、运行的结果如下

       4、基准比例1.1625=186/160  ; 140=120*186/160  ;70=60*186/160  ;

参考文章

[Android] Android开发中dip,dpi,density,px等详解 - 简书

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270683.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号