80,364
社区成员
发帖
与我相关
我的任务
分享
package com.example.administrator.myapplication;
import android.hardware.display.DisplayManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
String TAG ="TAG";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
Log.e(TAG, "windth "+ displayMetrics.widthPixels);
Log.e(TAG, "height "+ displayMetrics.heightPixels);
int densityDpi = getResources().getDisplayMetrics().densityDpi;
Log.e(TAG, "densityDpi:"+densityDpi );
}
}
import android.content.Context;
import android.util.TypedValue;
public class DensityUtil {
/**
* 根据手机的分辨率从dp的单位转换成px
*/
public static int dp2px(Context context, float dpValue){
float scale = context.getResources().getDisplayMetrics().density;
return (int)(dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从px的单位转换成dp
*/
public static int px2dp(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
// /**
// * dp转px
// * @param context
// * @return
// */
// public static int dp2px(Context context, float dpVal)
// {
// return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
// dpVal, context.getResources().getDisplayMetrics());
// }
//
/**
* sp转px
* @param context
* @return
*/
public static int sp2px(Context context, float spVal)
{
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
spVal, context.getResources().getDisplayMetrics());
}
//
// /**
// * px转dp
// * @param context
// * @param pxVal
// * @return
// */
// public static float px2dp(Context context, float pxVal)
// {
// final float scale = context.getResources().getDisplayMetrics().density;
// return (pxVal / scale);
// }
//
/**
* px转sp
* @param pxVal
* @return
*/
public static float px2sp(Context context, float pxVal)
{
return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
}
}
获取屏幕像素类:
import android.app.Activity;
import android.util.DisplayMetrics;
/**
* 获得屏幕像素
* @author Administrator
*
*/
public class Pixels {
private static int[] px = new int[101];
private static int[] py = new int[101];
private int w,h;
private DisplayMetrics dm;
public Pixels(Activity activity){
dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
w = dm.widthPixels;
h = dm.heightPixels;
int length = px.length;
for(int index=0;index<length;index++){
px[index] = (int)(w*0.01*index);
py[index] = (int)(h*0.01*index);
}
}
/**
* 获得x点值
* @param index
* @return
*/
public static int getpixels_x(int index){
return px[index];
}
/**
* 获得y点值
* @param index
* @return
*/
public static int getpixels_y(int index){
return py[index];
}
}