package com.example.ipcplayer.activity;
import com.example.ipcplayer.R;
import com.example.ipcplayer.customview.CompassView;
import com.example.ipcplayer.utils.LogUtil;
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RelativeLayout;
public class TestImageActivity extends Activity{
private ImageView im;
private CompassView compass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_image);
im = (ImageView) findViewById(R.id.image1);
compass = (CompassView) findViewById(R.id.compass);
int width = im.getWidth();
LogUtil.d("width= " + width);
int height = im.getHeight();
LogUtil.d("height= " + height);
// getScreenDIP();
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
height = displayMetrics.heightPixels;
width = displayMetrics.widthPixels;
LogUtil.d("height: "+height);
LogUtil.d( "width: "+width);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, width);
// params.setMargins(margin, 0, margin, 0);
// params.rightMargin
// params.addRule(LinearLayout.ALIGN_PARENT_TOP);
im.setLayoutParams(params);
}
private void getScreenDIP(){
// 获取屏幕密度(方法1)
int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px)
int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p)
LogUtil.d(" 1---------- screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
// 获取屏幕密度(方法2)
DisplayMetrics dm = new DisplayMetrics();
dm = getResources().getDisplayMetrics();
float density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)
int densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:120/160/240/320)
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
LogUtil.d( " 2---------- xdpi=" + xdpi + "; ydpi=" + ydpi);
LogUtil.d( " 2---------- density=" + density + "; densityDPI=" + densityDPI);
screenWidth = dm.widthPixels; // 屏幕宽(像素,如:480px)
screenHeight = dm.heightPixels; // 屏幕高(像素,如:800px)
LogUtil.d( " 2---------- screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
// 获取屏幕密度(方法3)
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)
densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:120/160/240/320)
xdpi = dm.xdpi;
ydpi = dm.ydpi;
LogUtil.d( " 3---------- xdpi=" + xdpi + "; ydpi=" + ydpi);
LogUtil.d( " 3---------- density=" + density + "; densityDPI=" + densityDPI);
int screenWidthDip = dm.widthPixels; // 屏幕宽(dip,如:320dip)
int screenHeightDip = dm.heightPixels; // 屏幕宽(dip,如:533dip)
LogUtil.d( " 3---------- screenWidthDip=" + screenWidthDip + "; screenHeightDip=" + screenHeightDip);
screenWidth = (int)(dm.widthPixels * density + 0.5f); // 屏幕宽(px,如:480px)
screenHeight = (int)(dm.heightPixels * density + 0.5f); // 屏幕高(px,如:800px)
LogUtil.d( " 3---------- screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
}
}