[英]How to change SurfaceView width and height?
I have a SurfaceView in ConstraintLayout. 我在ConstraintLayout中有一个SurfaceView。
I changed SurfaceView width and height, but only height is changed. 我更改了SurfaceView的宽度和高度,但只更改了高度。
How to change SurfaceView width? 如何更改SurfaceView宽度?
this is my activity.xml. 这是我的activity.xml。
<android.support.constraint.ConstraintLayout
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
xmlns:app = "http://schemas.android.com/apk/res-auto"
tools:context = ".MainActivity"
>
<SurfaceView
android:id="@+id/surface_play"
android:layout_width = "0dp"
android:layout_height = "200dp"
app:layout_constraintTop_toTopOf ="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btn_play"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text="play"
app:layout_constraintTop_toBottomOf="@+id/surface_play"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btn_stop"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
app:layout_constraintTop_toTopOf="@+id/btn_play"
app:layout_constraintStart_toEndOf="@+id/btn_play"
android:text="stop" />
</android.support.constraint.ConstraintLayout>
this is surfaceChangedMethod. 这是surfaceChangedMethod。
@Override
public void surfaceChanged ( SurfaceHolder holder , int format , int width ,
int height ) {
android.view.ViewGroup.LayoutParams lp = surfaceView.getLayoutParams();
lp.width = 1000; // required width
lp.height = 1000; // required height
surfaceView.setLayoutParams(lp);
}
I solve myself. 我自己解决。 Change a SurfaceView's attribute
更改SurfaceView的属性
android:layout_width = "0dp"
to 至
android:layout_width = "wrap_content"
than it works. 比它的作品。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.