美文网首页
屏幕处理

屏幕处理

作者: 涛涛123759 | 来源:发表于2016-11-09 10:46 被阅读39次

    http://www.jb51.net/article/104485.htm
    一、获得屏幕高度和宽度
    1、

       WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
       int width = wm.getDefaultDisplay().getWidth();
       int height = wm.getDefaultDisplay().getHeight();
    

    2、

       WindowManager wm = this.getWindowManager();
       int width = wm.getDefaultDisplay().getWidth();
       int height = wm.getDefaultDisplay().getHeight();
    

    3、

    //DisplayMetrics mDisplayMetrics= getResources().getDisplayMetrics();
    DisplayMetrics mDisplayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
    density  = mDisplayMetrics.density;
    densityDPI = mDisplayMetrics.densityDpi;
    xdpi = mDisplayMetrics.xdpi;
    ydpi = mDisplayMetrics.ydpi;
    int W = mDisplayMetrics.widthPixels;
    int H = mDisplayMetrics.heightPixels;
    Log.i("Main", "Width = " + W);
    Log.i("Main", "Height = " + H);
    

    二.获取状态栏高度:

    Rect frame = new Rect();
    getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
    int statusBarHeight = frame.top; 
    

    三.获取标题栏高度:

    int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
    
    //statusBarHeight是上面所求的状态栏的高度
    int titleBarHeight = contentTop - statusBarHeight  
    

    四、 导航栏

    //requestWindowFeature(Window.FEATURE_NO_TITLE);
    
    //设置标题
    getSupportActionBar().setTitle("listView");
    
    //设置标题不显示
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    
     // 给左上角图标的左边加上一个返回的图标,其id为:android.R.id.home
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    
    //隐藏 actionBar
    this.getSupportActionBar().hide();
    

    注: 把 requestWindowFeature(Window.FEATURE_NO_TITLE);放在super.onCreate(savedInstanceState);前面就可以隐藏ActionBar而不报错。

    五、隐藏状态栏

    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    
    
    
    //隐藏状态栏
    View decorView = getWindow().getDecorView();
    //第一种   
    //decorView.setSystemUiVisibility(View.INVISIBLE);//gone无效,invisible有效
    //第二种
    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
    

    六、去掉所有Activity界面的标题栏
      修改AndroidManifest.xml
      在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"

    **七、去掉所有Activity界面的TitleBar 和StatusBar **
      修改AndroidManifest.xml
      在application 标签中添加
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

    八、屏幕设置

    //设置为全屏

    requestWindowFeature(Window.FEATURE_NO_TITLE);  
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN , WindowManager.LayoutParams.FLAG_FULLSCREEN);
    

    //设置横屏模式

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    

    或在Activity中添加:

    android:screenOrientation="landscape" 
    

    //设置竖屏模式

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    

    或在Activity中添加:

    android:screenOrientation="portrait" 

    相关文章

      网友评论

          本文标题:屏幕处理

          本文链接:https://www.haomeiwen.com/subject/oeizuttx.html