Android应用程序的布局有两种,一种是在res/layout下面的xml文件里布局,一种是直接在java代码里布局,而Android智能电视有多种分辨率,我们可以建立多个适应不同分辨率的资源文件,但是Android智能电视上的应用程序,一般有很多图片,因此我们开发的时候大多数是采用直接在java代码里布局。

我设置的模拟器的尺寸是1920*1080,Android2.2版本的。

关于自适应屏幕的问题,我们可以使用以下的方法来解决:

首先要了解下DisplayMetrics这个类,它位于Android.util包下面的,它提供了关于显示的通用信息,比如显示大小,字体和分辨率。先定义宽、高,还有屏幕最大分辨率的宽和高,如下:

int widthMax=1920;
int heightMax=1080;
metrics ['metriks] 度量,测量
heightPixels:显示高度的绝对像素
widthPixels:显示宽度的绝对像素
要获取DisplayMetrics成员,得初始化一个对象,
DisplayMetrics metrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
则宽和高为
width=metrics.widthPixels , height=metrics.heightPixels;

另外还要设置一个方法:

public int heightChange(int x)
{
  return x*height/heightMax
}

在任何地方涉及到宽高等参数的问题的时候,要使用这个方法,这样才能自适应于其他不同分辨率的电视。