2011-12-03 22 views
2

カメラのプレビューをカメラ画面の約80%に制限したいアプリケーションを作成しています。私はlayout_weight = 0.8を使ってそれを達成することができました。今私はカメラプレビューの隅に境界線を実装する必要があります。Androidカメラのプレビューコーナー画像を表示

私が実際に達成したいことのスナップショットを添付しました。赤い色で表示されたボーダーは、私が本当に欲しいものです。任意のポインタが役立ちます。ここで

enter image description here

私は80%にカメラ画像を縮小している方法です。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" android:layout_width="match_parent" 
android:layout_height="match_parent" android:gravity="center" 
android:weightSum="1.0"> 
<LinearLayout android:orientation="vertical" android:id="@+id/surfaceparent" 
    android:layout_width="0dp" android:layout_height="match_parent" 
    android:layout_weight="0.8" android:gravity="center" 
    android:weightSum="1.0"> 
    <SurfaceView android:id="@+id/camera_preview" 
     android:layout_width="fill_parent" android:layout_height="0dp" 
     android:layout_weight="0.8"> 
    </SurfaceView> 
</LinearLayout> 
</LinearLayout> 

答えて

1

相対的なレイアウトでsurfaceviewを入れて、その上に画像を追加します。

<RelativeLayout android:orientation="vertical" android:id="@+id/surfaceparent" 
    android:layout_width="0dp" android:layout_height="match_parent" 
    android:layout_weight="0.8" android:gravity="center" 
    android:weightSum="1.0"> 
    <SurfaceView android:id="@+id/camera_preview" 
     android:layout_width="fill_parent" android:layout_height="0dp" 
     android:layout_weight="0.8"> 
    </SurfaceView> 
    <ImageView android:src="@drawable/tl" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" /> 
    <ImageView android:src="@drawable/tr" android:layout_alignParentTop="true" android:layout_alignParentRight="true" /> 
    <ImageView android:src="@drawable/bl" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" /> 
    <ImageView android:src="@drawable/br" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" /> 
</RelativeLayout> 

それとも、私がこれを行う場合、私は私のカメラのプレビューを見ることができない1枚の9パッチ画像

+0

を持つことができます。私は画像しか見ることができません。 – user1060418

+0

あなたのXMLのLinearLayoutをRelativeLayoutに切り替え、他のビットを見ずにImageViewsを追加しました。RelativeLayoutsはウェイトを許可しないので、surfaceviewのlayout_heightはfill_parentである必要があります – FunkTheMonk

+0

しかし、layout_heightのfill_parentは、高さは正しくありません。高さを親よりも小さくしたい場合幅は正しいが、高さは問題である。 – user1060418