📌  相关文章
📜  如何以编程方式在 Android 中查找屏幕的每英寸点数 (DPI)?

📅  最后修改于: 2022-05-13 01:55:06.624000             🧑  作者: Mango

如何以编程方式在 Android 中查找屏幕的每英寸点数 (DPI)?

每英寸点数或DPI是屏幕上物理区域的像素密度的度量。像素是任何屏幕显示的最小单位。屏幕上所有像素的总和称为屏幕分辨率。用户可用的像素称为视口,在本文中,我们将向您展示如何在 Android 中获取视口的 DPI。

屏幕的每英寸点数 (DPI)

IDE 准备就绪后,请按照以下步骤操作。

分步实施

第 1 步:在 Android Studio 中创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在 Kotlin 中演示了该应用程序,因此请确保在创建新项目时选择Kotlin作为主要语言。

第 2 步:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件。下面是activity_main.xml文件的代码。

XML


  
    
  


Kotlin
package org.geeksforgeeks.screendpi
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.DisplayMetrics
import android.widget.TextView
import android.widget.Toast
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring and Initializing the 
          // TextView from the layout file
        val mTextView = findViewById(R.id.text_view_1)
  
        // Fetching the screen DPI value
        val mScreenDPI = resources.displayMetrics.density
  
        mTextView.text = mScreenDPI.toString()
  
    }
}


第 3 步:使用 MainActivity.kt 文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

package org.geeksforgeeks.screendpi
  
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.DisplayMetrics
import android.widget.TextView
import android.widget.Toast
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        // Declaring and Initializing the 
          // TextView from the layout file
        val mTextView = findViewById(R.id.text_view_1)
  
        // Fetching the screen DPI value
        val mScreenDPI = resources.displayMetrics.density
  
        mTextView.text = mScreenDPI.toString()
  
    }
}

输出:

输出