2011-11-04 3 views
1

나는 LinearLayout모양 배경과 WebView를 가지고 있습니다. 모양의 테두리를 따라 WebView를 자르는 방법?하위 레이아웃의 테두리를 자르는 방법?

웹 모양이 모양에 적합하도록 WebView에 예각이 없습니다.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:padding="5dip" > 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/bg_border" 
    android:orientation="vertical" > 

    <WebView android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 

    </LinearLayout> 
</LinearLayout> 

bg_border.xml는

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

<corners 
    android:radius="5dp" 
    android:bottomRightRadius="5dp" 
    android:bottomLeftRadius="5dp" 
    android:topLeftRadius="5dp" 
    android:topRightRadius="5dp" /> 

enter image description here

답변

0

난 당신이 해당 시뮬레이션 할 수 있습니다 내기 것입니다. 반경이 작은 다른 도형을 만들어 흰색으로 만듭니다. 웹에서 볼 수 있습니다. 보고있는 페이지가 흰색이 아닌 경우 분명히 작동하지 않습니다.

또한 "radius"를 이미 정의하고 모든 값이 같으면 topLeft/bottomRight/etc를 정의 할 필요가 없습니다.

업데이트 아이디어. 두 이미지 모두 다음과 같은 소스 이미지가 포함됩니다. http://www.noiseindustries.com/downloads/misc/FxFactoryHelp/pluginguide/generators/roundedrectangle/files/ni-rounded-rectangle.jpg

테두리가 훨씬 작아야합니다. 3 ~ 5 픽셀. 흰색 중심은 흰색이 아닌 투명해야합니다.

1) RelativeLayout을 만들고 측면과 모서리에 대한 이미지를 만듭니다. 레이아웃과 이미지를 사용하면 기본적으로 이미지를 배치하여 테두리를 그릴 수 있습니다. 센터에 아무것도 넣지 마십시오. FrameLayout을 만들고 웹 뷰를 넣은 다음 RelativeLayout을 맨 위에 놓습니다. 다행히도 센터의 터치 이벤트는 웹 뷰로 넘어가지만 가장자리 주위에 부드러운 경계선을 제공합니다.

2) 기본적으로 1에서 설명한 테두리와 같은 9 패치 이미지를 만듭니다. 1에서 설명한 동일한 FrameLayout을 수행하고 Webview를 추가합니다. 그 외에도 사용자 정의보기를 추가하십시오. 배경을 9 패치로 설정하고 사용자 정의보기가 모든 터치 이벤트를 전달하는지 확인하십시오.

나는 # 1 구현이 더 쉬울 것이라고 생각하지만 누가 알겠습니까?

+0

페이지의 색이 바뀌므로 내 방식이 아닙니다. "radius"에 대한 설명 주셔서 감사합니다. – Sviatoslav

+0

먼저 선택하겠습니다. 더 쉬운 방법이 있다고 생각했습니다. :) – Sviatoslav

관련 문제