我有一个列表视图。我用 8 个项目填充它,这就是 G1 上的所有内容。我的一些用户说 Droid 的屏幕高度更高,因此我可能可以在 ListView 中添加一两个项目以占用提供的额外空间。
在显示 UI 之前,如何测量屏幕在启动时提供的可用高度?如果我看到高度可以容纳超过 8 个项目,我想再添加一两行。
我有一个列表视图。我用 8 个项目填充它,这就是 G1 上的所有内容。我的一些用户说 Droid 的屏幕高度更高,因此我可能可以在 ListView 中添加一两个项目以占用提供的额外空间。
在显示 UI 之前,如何测量屏幕在启动时提供的可用高度?如果我看到高度可以容纳超过 8 个项目,我想再添加一两行。
我同意上面的评论,但如果你真的想走这条路,试试这个:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
您可以从您的主要活动中做到这一点,即从启动器开始的活动。
但是,这并没有考虑到通知栏或窗口装饰所占用的空间,因此实际上,您的空间比宽度乘以高度要少。
这是我使用最多的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.????????);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
Constants.SCREEN_HEIGHT = dm.heightPixels;
Constants.SCREEN_WIDTH = dm.widthPixels;
}
}