zoukankan      html  css  js  c++  java
  • 获取手机屏幕大小

    SurfaceView简单例子

    玩转Android---UI篇---ZoomControls放大缩小图片

    更多相关推荐 这里总结下android中关于手机屏幕的相关操作:

    1、获取屏幕的分辨率

    (因为android中处理显示的时候,需要根据屏幕分辨率的不同才去不同的布局或显示不同的素材)

    Java代码

    // 通过WindowManager获取  

    DisplayMetrics dm = new DisplayMetrics();  

    getWindowManager().getDefaultDisplay().getMetrics(dm);  

    System.out.println("heigth : " + dm.heightPixels);  

    System.out.println("width : " + dm.widthPixels);  

    // 通过Resources获取          

    DisplayMetrics dm2 = getResources().getDisplayMetrics();  

    System.out.println("heigth2 : " + dm2.heightPixels);  

    System.out.println("width2 : " + dm2.widthPixels);    

    // 获取屏幕的默认分辨率  

    Display display = getWindowManager().getDefaultDisplay();  

    System.out.println("width-display :" + display.getWidth());  

    System.out.println("heigth-display :" + display.getHeight());

    // 通过WindowManager获取

    DisplayMetrics dm = new DisplayMetrics();

    getWindowManager().getDefaultDisplay().getMetrics(dm);

    System.out.println("heigth : " + dm.heightPixels);

    System.out.println("width : " + dm.widthPixels);

    // 通过Resources获取

    DisplayMetrics dm2 = getResources().getDisplayMetrics();

    System.out.println("heigth2 : " + dm2.heightPixels);

    System.out.println("width2 : " + dm2.widthPixels);

    // 获取屏幕的默认分辨率

    Display display = getWindowManager().getDefaultDisplay();

    System.out.println("width-display :" + display.getWidth());

    System.out.println("heigth-display :" + display.getHeight());

    2、去掉屏幕标题及全屏显示

    Java代码

    // 去掉标题  

    requestWindowFeature(Window.FEATURE_NO_TITLE);  

    // 设置全屏

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,  

            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    // 去掉标题

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    // 设置全屏

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

      WindowManager.LayoutParams.FLAG_FULLSCREEN);

    3、设置屏幕的风向

    在Manifest.xml文件中配置Activity的属性

    Xml代码

    <activity android:name=".AnimateActivity" android:label="@string/app_name"

        android:screenOrientation="landscape"><!--landscape 横屏portrait 竖屏-->

        <intent-filter>

            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>

    </activity>

    <activity android:name=".AnimateActivity" android:label="@string/app_name"

     android:screenOrientation="landscape"><!--landscape 横屏portrait 竖屏-->

     <intent-filter>

      <action android:name="android.intent.action.MAIN" />

      <category android:name="android.intent.category.LAUNCHER" />

     </intent-filter>

    </activity>

    在程序中控制,一般在Activity中的onCreate、onDestroy方法中控制,因为在屏幕方向发生变化时,

    系统会重新启动Activity。所以需要再Activity销毁前保存相关数据,方便在下次onCreate方法中

    重新加载,并更新屏幕的布局

    Java代码

    public void onCreate(Bundle savedInstanceState) {  

        //强制横屏  

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  

        // TODO 更新屏幕布局  

    }  

    public void onDestroy() {  

        if(getRequestedOrientation() ==  

                ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){  

            // 保存数据  

        }else if(getRequestedOrientation() ==  

                ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){  

            // 保存数据  

        }  

    }

  • 相关阅读:
    数据表后缀问题
    window.history.go(-1)返回且刷新页面
    mysql性能优化-慢查询分析、优化索引和配置
    从数据库、代码和服务器对PHP网站Mysql做性能优化
    什么是WEBserver? 经常使用的WEBserver有哪些?
    浅谈 C/S 和 B/S 架构
    Android常用开源项目
    csdn android视频播放器开发
    视频会议十大开源项目排行
    Android开源项目大全
  • 原文地址:https://www.cnblogs.com/leehongee/p/3323882.html
Copyright © 2011-2022 走看看