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){  

            // 保存数据  

        }  

    }

  • 相关阅读:
    安装 Office Online Server2016
    HTML-冒泡算法
    shell 中的$0 $1 $* $@ $# $$ $? $() $(())
    线程池原理及C语言实现线程池
    彻底搞懂Reactor模型和Proactor模型
    TCP的三次握手与四次挥手理解及面试题
    socket关闭的close和shutdown区别
    C++ Virtual 完美诠释
    Linux学习之CentOS--Linux系统的网络环境配置
    Linux学习之CentOS--Linux网卡高级命令、IP别名及多网卡绑定
  • 原文地址:https://www.cnblogs.com/leehongee/p/3323882.html
Copyright © 2011-2022 走看看