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的子类。