2014-02-06 12 views
2

Я попытался нарисовать форму на макете, используемой для приложения камеры. Я могу нарисовать прямоугольник и круг, но мне нужен только кадр. Это дает мне прямоугольник, который заполняет не только рамку. У меня есть фотография, чтобы показать вам ниже. и вот код макета.Как нарисовать сверху на макете при вызове камеры

<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 в Tablet.

enter image description here

+0

так что ваша проблема на самом деле? – pskink

+0

Мне нужно нарисовать только рамку формы, а не всю сплошную форму. – user3101751

+1

так определите, что это «обрамление» – pskink

ответ

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" /> 

твердого андроид: цвет, чтобы заполнить цвет внутри прямоугольника, и она превратится в прозрачный во время хода андроида: цвет будет строками, красные.

Смежные вопросы