DPI:每英寸像素数

简单的屏幕分辨率计算方法:

DisplayMetrics metrics = this.getResources().getDisplayMetrics();
float density = metrics.density;
int dpi = metrics.densityDpi;
int heightPixels = metrics.heightPixels;
int widthPixels = metrics.widthPixels;
Log.e("---metrics---", "比例:"+density+"dpi:"+dpi+"高像素:"+heightPixels+"宽像素:"+widthPixels);

图片大小适应不同屏幕:

img.post(new Runnable() {   @Overridepublic void run() {int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);img.measure(spec,spec);int measuredWidth=img.getMeasuredWidth();int measuredHeight=img.getMeasuredHeight();//原始大小  if (measuredWidth==0){return;  }    int width=img.getWidth();int height=img.getHeight();//真实大小    LinearLayout.LayoutParams lp=(LinearLayout.LayoutParams)img.getLayoutParams();lp.width=width;lp.height=width*(measuredHeight / measuredWidth);img.setLayoutParams(lp);//设置大小}});

dp与px计算图(mdpi  1dp=1px):

 

ldpi:1dp=0.75px  mdpi:1dp=1px  hdpi:1dp=1.5px  xhdpi:1dp=2px  xxhdpi:1dp=3px  xxxhdpi:1dp=4px

Android手机屏幕标准                      对应图标尺寸标准      屏幕密度         比例

xxxhdpi 3840*2160                           192*192             640          16

xxhdpi 1920*1080                            144*144             480          12

xhdpi  1280*720                            96*96              320           8

hdpi   480*800                             72*72              240           6

mdpi   480*320                             48*48              160           4

ldpi   320*240                             36*36              120           3

注:Android studio mipmap文件夹只存放启动图标icon

http://blog.csdn.net/a704755096/article/details/46342689

屏幕横竖屏布局切换:

1)单个布局xml直接横竖屏切换,不重新加载数据:android:configChanges="orientation|keyboardHidden|screenSize"

2)layout-land和layout-port布局横竖屏切换,不重新加载数据:FragmentActivity重写onRetainCustomNonConfigurationInstance()

Activity 重写onRetainNonConfigurationInstance()保存数据,在onCreate()时判断getLastNonConfigurationInstance()是否null:

Java代码  收藏代码

  1. @Override  
  2. public void onCreate(Bundle savedInstanceState) {  
  3.     super.onCreate(savedInstanceState);  
  4.     setContentView(R.layout.main);  
  5.   
  6.     Object data = getLastNonConfigurationInstance();  
  7.     if (data == null) {  
  8.         findviewbyidLoadMyData();  
  9.     }  
  10.     ...  
  11. }  

更多:安卓图片动画(http://www.open-open.com/lib/view/open1335777066015.html)、点九图工具:

1.打开Android 工程包 SDK文件,tools文件,双击draw9patch.bat

2.弹出的窗口点击 File,点击要编辑的图片open 9patch 

3.编辑。鼠标左键:划线     /    shift + 鼠标左键:删除划线

4.保存。点击save 9patch



更多相关文章

  1. Android Activity屏幕切换动画-左右滑动切换
  2. Android Studio新建布局XML, preview不显示问题解决
  3. Android Studio:在xml布局中不能自动补全代码
  4. Android中获取(RAM)总运存大小和可用运存大小
  5. 如何让android的屏幕保持常亮
  6. Android纯代码写布局
  7. 【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CP
  8. 保持Android手机屏幕长亮的方法
  9. Android 屏幕切换效果实现 (转)

随机推荐

  1. android开发中handler的总结
  2. Android输入系统概述
  3. Android之Adapter用法总结
  4. Android(安卓)UI开发专题(一) 之界面设计
  5. Android(安卓)9.0中sdcard 的权限和挂载
  6. Android(安卓)自定义view完全解析--带你
  7. Android(安卓)ViewDragHelper(1)
  8. Android(安卓)网络:Retrofit 与 Kotlin
  9. Eclipse 重装Android(安卓)ADT 问题~解决
  10. android 渗透测试必备工具