我的形状背景和WebView里面有 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" />
答案 0 :(得分:0)
我敢打赌你只能模拟那个。创建具有(较小)半径的另一个形状,并使其变为白色。把它放在你的网络视图周围。如果您正在查看的页面不是白色,这显然不起作用。
此外,如果您已经定义了“radius”并且所有值都相同,则无需定义topLeft / bottomRight / etc。
更新 思想。它们都涉及源图像LIKE:http://www.noiseindustries.com/downloads/misc/FxFactoryHelp/pluginguide/generators/roundedrectangle/files/ni-rounded-rectangle.jpg
确保边框小一些。 3-5像素。白色中心应该是透明的,而不是白色。
1)创建RelativeLayout,并为边和角创建图像。使用布局和图像,基本上布置图像,以便“绘制”边框。不要把任何东西放在中心。创建一个FrameLayout,将webview放入,然后将RelativeLayout置于顶部。希望中心的触摸事件会落到网页视图中,但仍会在边缘附近给你一个柔和的边框。
2)创建一个9补丁图像,其基本上与1中描述的边框相同。执行1中描述的相同FrameLayout,并添加Webview。最重要的是,添加一个CUSTOM视图。将背景设置为9补丁,并确保自定义视图传递其所有触摸事件。
我怀疑#1会更容易实现,但谁知道呢?