【发布时间】:2016-08-02 12:28:55
【问题描述】:
我正在尝试制作一个圆形的表面视图。我已经搜索了很多,但我找不到一个好的解决方案。我现在正在做的是,我已将 SurfaceView 放入 FrameLayout,然后在其上放置另一个 View,使用 PNG 掩码或可绘制的形状 xml。在这里
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="140dp"
android:layout_height="140dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#000"
android:orientation="vertical"
android:visibility="visible" >
<FrameLayout
android:id="@+id/videorecordview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_weight=".2" >
<SurfaceView
android:id="@+id/surfaceView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</FrameLayout>
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/rounded"
android:orientation="vertical" >
</LinearLayout>
</RelativeLayout>
但这不是一个好的解决方案,它也不能完美地工作。我想将surfaceview自定义为圆形。任何帮助将非常感激。谢谢你:)
【问题讨论】:
-
stackoverflow.com/questions/26074784/… ...试试这个..将FrameLayout更改为SurfaceView
-
感谢您的参与。 @sunilsunny,您可以使用它而不是surfaceview 使任何视图四舍五入。我已经试过了:)
-
@TashenJazbi:你找到解决方案了吗?我遇到了同样的实施问题。你能发布你的解决方案吗?谢谢
-
@Sneha 我们无法改变 SurfaceView 的 Surface 形状。请仔细阅读正确答案:)
-
@TashenJazbi:是的没错,那你是怎么实现的呢?
标签: android surfaceview