调用相机时如何在布局上绘制

时间:2014-02-06 06:23:42

标签: android android-layout camera frame geometry

我试图在用于相机应用的布局上绘制形状。我可以绘制一个矩形和圆形,但我只需要框架。它为我提供了一个填充的矩形,而不仅仅是框架。我有一张照片在下面给你看。这是一个布局代码。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout2"
android:background="#ffffff"
android:layout_width="wrap_content"
android:layout_height="match_parent" >

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="0.91" >

    <FrameLayout
        android:id="@+id/cam_preview"
        android:layout_width="1120dp"
        android:layout_height="840dp"
        android:layout_weight="0.91" >
    </FrameLayout>

    <View
        android:layout_width="360dp"
        android:layout_height="525dp"
        android:layout_marginLeft="50dp"
        android:layout_marginTop="157dp"
        android:layout_weight="0.91"
        android:background="@drawable/square" />

    <View
        android:layout_width="160dp"
        android:layout_height="160dp"
        android:layout_marginLeft="840dp"
        android:layout_marginTop="480dp"
        android:layout_weight="0.91"
        android:background="@drawable/circle2" />

    <View
        android:layout_width="160dp"
        android:layout_height="160dp"
        android:layout_marginLeft="840dp"
        android:layout_marginTop="200dp"
        android:layout_weight="0.91"
        android:background="@drawable/circle" />

</RelativeLayout>

<LinearLayout
    android:layout_width="160dp"
    android:layout_height="800dp"
    android:background="#ffffff"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/button_next"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_gravity="center_horizontal"
        android:layout_weight="3"
        android:src="@drawable/buttonnext" />

    <ImageView
        android:id="@+id/button_camera"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_gravity="center_horizontal"
        android:layout_weight="2"
        android:src="@drawable/buttoncamera" />

    <ImageView
        android:id="@+id/button_back"
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_gravity="center_horizontal"
        android:layout_weight="3"
        android:src="@drawable/buttonback" />

</LinearLayout>

circle.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="oval" >
<stroke android:width="3dp" android:color="#ffff0000"/>
</shape>

square.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="3dp" android:color="#ffff0000"/>
</shape>

请注意,我的布局适合平板电脑中的10.1。

enter image description here

1 个答案:

答案 0 :(得分:0)

使用颜色的透明度。对于Square.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle" >
<solid android:color="#00ffffff" />
<corners
    android:bottomLeftRadius="1dp"
    android:bottomRightRadius="1dp"
    android:topLeftRadius="1dp"
    android:topRightRadius="1dp"/>
<stroke
    android:width="1sp"
    android:color="#ffff0000" />

实心的android:颜色填充矩形内部的颜色,它会变为透明,而中风android:颜色将是红色的线条。