- import android.os.Bundle;
- import android.app.Activity;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.content.pm.ResolveInfo;
- import android.util.DisplayMetrics;
- import android.view.Display;
- import android.view.Menu;
- import android.view.WindowManager;
- import android.widget.TextView;
- import java.util.List;
- public class MainActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- final PackageManager packageManager = this.getPackageManager();
- final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
- mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
- // mainIntent.setPackage(packageName);
- final List<ResolveInfo> apps = packageManager.queryIntentActivities(mainIntent, 0);
- // 方法1 Android获得屏幕的宽和高
- WindowManager windowManager = getWindowManager();
- Display display = windowManager.getDefaultDisplay();
- int screenWidth = screenWidth = display.getWidth();
- int screenHeight = screenHeight = display.getHeight();
- // 方法2 这种方式是比较常用的,比较符合
- DisplayMetrics dm = new DisplayMetrics();
- getWindowManager().getDefaultDisplay().getMetrics(dm);
- TextView tv = (TextView)this.findViewById(R.id.tv);
- float width=dm.widthPixels*dm.density;
- float height=dm.heightPixels*dm.density;
- tv.setText("First method:"+dm.toString()+"\n"+"Second method:"+"Y="+screenWidth+";X="+screenHeight);
- //dm.widthPixels,dm.heightPixels
- }
- }
在实际的项目中,我们经常要得到当前屏幕的分辨率,进行机型适配,得到分辨率其实很简单,主要有两种方法。
方法/步骤
-
在实际的项目中,我们经常要得到当前屏幕的分辨率,进行机型适配,得到分辨率其实很简单,主要有两种方法。
在ACTIVITY的onCreate(Bundle savedInstanceState) 方法中修改。
方法一:
Display mDisplay = getWindowManager().getDefaultDisplay();
int W = mDisplay.getWidth();
int H = mDisplay.getHeight();
Log.i("Main", "Width = " + W);
Log.i("Main", "Height = " + H);
复制代码
Display是在android.view.Display包中的。
-
方法二:
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
int W = mDisplayMetrics.widthPixels;
int H = mDisplayMetrics.heightPixels;
Log.i("Main", "Width = " + W);
Log.i("Main", "Height = " + H);
复制代码
DisplayMetrics是在android.util.DisplayMetrics包中的,getWindowManager()是Activity中的方法。