我的应用程序使用大小为150 X 150的相机表面视图布局。我需要显示表面角是弧形类型。如何在相机中设置角落。
<LinearLayout
android:id="@+id/recordView"
android:layout_width="100dp"
android:layout_height="150dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="50dp"
android:layout_marginRight="25dp"
android:background="@drawable/customshape">
</LinearLayout>
CUSTOMSHAPE:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFFFF" android:endColor="#FFFFFF" android:angle="270"/>
<corners android:bottomRightRadius="50dp" android:bottomLeftRadius="50dp"
android:topLeftRadius="50dp" android:topRightRadius="50dp"/>
此布局添加相机活动但记录开始显示矩形视图
答案 0 :(得分:3)
查看本教程,了解如何创建Android形状并将该形状应用于您的布局: http://www.vogella.com/blog/2011/07/19/android-shapes/
具体而言,您使用<corners>
的{{1}}属性创建圆角,请参阅上面引用的教程中的示例:
<shape>
更新2 - 这对我有用:
<强>绘制-HDPI / rounded.xml:强>
<corners
android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"
/>
<强>绘制-HDPI / solid.xml:强>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="2dp" android:color="#FFFFFFFF" />
<corners
android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"/>
<solid android:color="#00000000" />
</shape>
<强>绘制-HDPI / rounded_inside_corners.xml:强>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="2dp" android:color="#FFFFFFFF" />
<solid android:color="#00000000" />
</shape>
然后在我的活动布局中:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/rounded" />
<item android:drawable="@drawable/solid" />
</layer-list>
结果如下:
答案 1 :(得分:0)
您好看看这段代码。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle" >
<corners android:radius="15dip" />
<solid android:color="#404f64" />
<stroke android:width="2dp" android:color="#bebfc1"/>
</shape>
</item>
</layer-list>
在曲面视图中将其设置如下所示。
android:background="@layout/rounded"
答案 2 :(得分:0)
经过更多搜索后,我尝试使用cardView编写代码,该代码对我有用。
添加依赖项:
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
将代码添加到xml:
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="270dp"
app:cardCornerRadius="10dp"
app:cardPreventCornerOverlap="false">
<SurfaceView
android:id="@+id/camera_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.cardview.widget.CardView>