我想将应用程序中的当前SurfaceView更改为







有没有一种方法可以完全不使用main.xml

我正在尝试在运行时编写GUI。我可以通过覆盖SurfaceView并使用onMeasure()来获得当前的setMeasuredDimension()(顶部图片),但是我想获得底部图片。绿色区域是屏幕的其余部分。

编辑:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
    this.setMeasuredDimension(500, 300);
    param.gravity = Gravity.CENTER_VERTICAL;
}

最佳答案

您是否尝试过使用android:layout_gravity属性将视图居中于版式中?

相应的类别为FrameLayout.LayoutParams,可能的重力列于here。然后,代码可能如下所示:

FrameLayout f = new FrameLayout(this);
ImageView test = new ImageView(this);
f.addView(test, new FrameLayout.LayoutParams(500, 300, Gravity.CENTER));

关于java - 将Surfaceview缩小到一个盒子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7073083/

10-13 04:30