`
dawuafang
  • 浏览: 1108770 次
文章分类
社区版块
存档分类
最新评论

Android中屏幕相关的操作

 
阅读更多

http://berdy.iteye.com/blog/1040412


这里总结下android中关于手机屏幕的相关操作:
1、获取屏幕的分辨率(因为android中处理显示的时候,需要根据屏幕分辨率的不同才去不同的布局或显示不同的素材)

Java代码收藏代码
  1. //通过WindowManager获取
  2. DisplayMetricsdm=newDisplayMetrics();
  3. getWindowManager().getDefaultDisplay().getMetrics(dm);
  4. System.out.println("heigth:"+dm.heightPixels);
  5. System.out.println("width:"+dm.widthPixels);
  6. //通过Resources获取
  7. DisplayMetricsdm2=getResources().getDisplayMetrics();
  8. System.out.println("heigth2:"+dm2.heightPixels);
  9. System.out.println("width2:"+dm2.widthPixels);
  10. //获取屏幕的默认分辨率
  11. Displaydisplay=getWindowManager().getDefaultDisplay();
  12. System.out.println("width-display:"+display.getWidth());
  13. System.out.println("heigth-display:"+display.getHeight());

2、去掉屏幕标题及全屏显示
Java代码收藏代码
  1. //去掉标题
  2. requestWindowFeature(Window.FEATURE_NO_TITLE);
  3. //设置全屏
  4. getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  5. WindowManager.LayoutParams.FLAG_FULLSCREEN);

3、设置屏幕的风向
在Manifest.xml文件中配置Activity的属性
Xml代码收藏代码
  1. <activityandroid:name=".AnimateActivity"android:label="@string/app_name"
  2. android:screenOrientation="landscape"><!--landscape横屏portrait竖屏-->
  3. <intent-filter>
  4. <actionandroid:name="android.intent.action.MAIN"/>
  5. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  6. </intent-filter>
  7. </activity>

在程序中控制,一般在Activity中的onCreate、onDestroy方法中控制,因为在屏幕方向发生变化时,
系统会重新启动Activity。所以需要再Activity销毁前保存相关数据,方便在下次onCreate方法中
重新加载,并更新屏幕的布局
Java代码收藏代码
  1. publicvoidonCreate(BundlesavedInstanceState){
  2. //强制横屏
  3. setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  4. //TODO更新屏幕布局
  5. }
  6. publicvoidonDestroy(){
  7. if(getRequestedOrientation()==
  8. ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
  9. //保存数据
  10. }elseif(getRequestedOrientation()==
  11. ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
  12. //保存数据
  13. }
  14. }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics