zoukankan      html  css  js  c++  java
  • Android学习之路十五:View

      Android应用程序中,用户界面的构造是使用View和ViewGroup对象。

      View和ViewGroup的种类很多,每一种都是View类的子类。

      在Android平台中,View对象是用户界面表现的基本单元。View对于子类最基本的服务叫做widgets,它提供了一个全部实现的UI对象,比如文本框(TextView),按钮(Button)等。ViewGroup对于子类最基本的服务叫layout,它提供各种不同的布局格式,比如线性布局(Linear),相对布局(relative)等。

      View对象是一个数据结构,其属性是屏幕指定的长方形区域,包括布局(layout)参数的很多内容,View对象能对屏幕的长方形区域做很多处理,比如尺寸、布局、绘画、焦点变化、滚动、键盘/手势等互动,作为用户界面的对象,View对于用户也是一个接收互动的活动点。

      获取屏幕大小:

      DisplayMetrics dm = new DisplayMetrics();

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

      屏幕宽为:dm.widthPixels;

      屏幕高为:dm.heightPixels;

      获取屏幕方向:

      Configuration config = getResources().getConfiguration();

      如果config.orientation == Configuration.ORIENTATION_LANDSCAPE;(横屏)

      如果config.orientation == Configuration.ORIENTATION_PORTRAIT;(竖屏)

      (屏幕放心改变时,Android系统会重新启动Activity。)

      

      保持屏幕方向不变:

      在AndroidMainfest.xml中加入

      android:screenOrientation = "landscape"(横向)

      android:screenOrientation = "portrait"(纵向)

      全屏设置:

      requestWindowFeature(Window.FEATURE_ON_TITLE);

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

      注意:这些调用要放在setContentView()之前。

      保持屏幕常量:

      PowerManager powerManager = null;

      WakeLock wakeLock = null;

      powerManager = (PowerManager)this.getSystemService(Context.POWER_SERVICE);

      wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK,"myLock");

      this.wakeLock.acquire();

      需要关闭的时候调用this.wakeLock.release();

      屏幕截取:

      /*在按钮相应的方法里面实现*/

      public void onClick(View arg0){

        View v = arg0.getRootView();

        v.setDrawingCacheEnabled(true);

        Bitmap bm = v.getDrawingCache();

      }

      bm就是截取的屏幕,但此方法只能截取View的子类。

  • 相关阅读:
    PL/SQL编程急速上手
    MySQL编程
    T-SQL编程
    SQL入门,就这么简单
    前端工具配置(webpack 4、vue-cli 3)
    Vue-router
    Vue组件应用
    Vue.js应用基础
    Bootstrap应用核心
    一篇文章教会你jQuery应用
  • 原文地址:https://www.cnblogs.com/thinksasa/p/2920273.html
Copyright © 2011-2022 走看看