2015-03-18 48 views
6

W jaki sposób mogę utworzyć podgląd kamery w kształcie koła/owalu lub zaokrąglonej rogówki w ten sposób (okrąg w środku powinien być podglądem kamery)?Android: jak zrobić podgląd kamery w kształcie koła?

enter image description here

London obraz reprezentuje resztę interfejs użytkownika z przyciskami i poglądów, więc musi być widoczny całość i dlatego nie można używać rozwiązań takich jak dodać android:background jako prostokąt kształt z promieniem tak:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <stroke android:width="3dip" android:color="#B1BCBE" /> 
    <corners android:radius="50dip"/> 
    <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
</shape> 

i gdy próbuję ustawić android:background jako owalny xml do SurfaceView, to nie działa albo:

<?xml version="1.0" encoding="utf-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval"> 

    <size 
     android:width="120dp" 
     android:height="120dp"/> 

    <stroke 
     android:color="#FF000000" 
     android:width="2dp" /> 
</shape> 

Jeśli można w jakiś sposób rozszerzyć SurfaceView i użyć go, co powinienem napisać ponownie?

Odpowiedz

0

hmm myślę, że najłatwiejszym sposobem jest położyć ImageView na górze SurfaceView przykład przez xml:

<RelativeLayout ....> 
    <SurfaceView ... /> 
    <ImageView ... /> 
</RelativeLayout> 
+0

obraz tła (Londyn) reprezentuje moje UI, te rzeczy muszą być w tle. –

+1

Dlaczego muszą być w tle? Dlaczego nie możesz zrobić przezroczystego okrągłego otworu z tym ImageView i pozwolić powierzchni SurfaceView przez to przejrzeć? (Lub po prostu użyj narysowania w Widoku SurfaceView, który jest tylko przezroczystym prostokątem). – fadden

+0

oops przepraszam wspomnieć, widok zawiera obraz z przezroczystym okręgiem, możesz użyć obrazu PNG –