我想用自定义高度设置glsurfaceview的高度。 我希望宽度与高度相同。 使用android:layout_width =“fill_parent”。 我怎么做宽度=高度= width_of_the_screen?
非常感谢
答案 0 :(得分:4)
您需要覆盖onMeasure并将setMeasuredDimension的两个参数设置为接收的宽度,如下所示:
class TouchSurfaceView extends GLSurfaceView {
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = View.MeasureSpec.getSize(widthMeasureSpec);
this.setMeasuredDimension(width, width);
}
...
布局如下:
...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_gravity="top"
>
<se.company.test.TouchSurfaceView android:id="@+id/glSurface"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
...