Demo主体代码框架:http://www.mamicode.com/info-detail-1113731.html
一、获取屏幕的宽和高
两种方法:1.
[java] view plain copy
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
2.
[java] view plain copy
WindowManager wm = this.getWindowManager();
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
二、视频播放中,surfaceview窗口大小的控制
[java] view plain copy
LayoutParams lp = surfaceView.getLayoutParams();
lp.width = 1280;
lp.height =720;
surfaceView.setLayoutParams(lp);
三、Android使用SurfaceView播放视频时横竖屏的调整
原贴:http://blog.chinaunix.net/uid-20771867-id-4171565.html
四、dp与像素的转化
[java] view plain copy
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int scale = metrics.density;
在这段代码中,scale 就表示一个dp 等于多少个像素,即
scale * px = dx
例如scale=1.5,那么一个dp就等于1.5个像素。
五、获取屏幕的宽高(像素)、密度和DPI
[java] view plain copy
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
上面的代码需要支持做分辨率,需要配置:
[java] view plain copy
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
六、横竖屏设置需要注意的问题
1、要先指定“横屏”或“竖屏”,否则程序不能获取屏幕的横竖屏状态。有两种方法:
(1)在AndroidManifest.xml里设置:
android:screenOrientation="portrait"
(2)在代码中设置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
2、其他操作参考:
http://blog.chinaunix.net/uid-20771867-id-4171565.html
七、系统报错:未报告的异常 java.io.IOException;必须对其进行捕捉或声明以便抛出main(argv)
解决办法:在有IO操作的方法后面加上throws IOException。
八、createNewFile()与createTempFile()的不同
http://my.oschina.net/forrest420/blog/81521
使用 File.createTempFile() 创建文件,并改名(不用随机名)
http://blog.csdn.net/chenzhehui/article/details/4037418
九、开启闪光灯的方法
http://www.jb51.net/article/78320.htm
十、android回调接口机制
http://blog.csdn.net/a78270528/article/details/46918601