Android:给一个webview圆angular?

我试图给我的webView圆angular。

这是我的代码:

rounded_webview.xml:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="10dp"> <solid android:color="#000"/> <corners android:bottomRightRadius="15dp" android:bottomLeftRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> </shape> 

这里是我的webView:

 <WebView android:id="@+id/webView1" android:layout_width="293dp" android:layout_height="142dp" android:layout_gravity="center_horizontal" android:padding="5dip" android:background="@drawable/rounded_webview"/> 

但它根本无法工作! angular落不圆

提前谢谢了,

唯一的方法是用其他视图(例如FrameLayout)来包装WebView元素,并在外部视图上应用圆angular的背景。 例:

 <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="10dip" android:paddingBottom="10dip" android:paddingLeft="1dip" android:paddingRight="1dip" android:background="@drawable/white_rounded_area" > <WebView android:id="@+id/web_view" android:layout_width="300dip" android:layout_height="400dip" android:layout_gravity="center" /> </FrameLayout> 

paddingToppaddingBottom等于drawable / white_round_area的半径, paddingLeftpaddingRight等于描边宽度drawable / white_round_area

这种方法的缺点是顶部底部圆angular面板可以与WebView内部的网页具有不同的背景颜色,尤其是当页面滚动时。

这是Webview的一个小怪癖,它有一个白色的默认背景颜色,绘制在任何可绘制的前面。 您需要使用以下代码才能使其透明并显示您的可绘制背景:

 WebView webview = (WebView)findViewById(R.id.webView1); webview.setBackgroundColor(0); 

尝试这个

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp" android:topLeftRadius="10dp" android:topRightRadius="10dp"/> <stroke android:color="@drawable/black" android:width="3dp"/> </shape> 

我使用的图像看起来像一个相框,我给框架圆angular。 我把这个相框放在我试图给圆angular的视图上。

这在iBog的背景面板解决scheme不能很好地解决了这个问题 。


诀窍是使用RelativeLayout ; 把你的布局放在里面。 在布局下方,添加另一个ImageView ,将其background设置为合适的遮罩图像帧。 这将在您的其他布局上绘制。

在我的情况下,我做了一个9Patch文件,这是一个灰色的背景,与一个透明的圆angular矩形切出来。

帧

这为您的基础布局创build了完美的面具。

XML代码可能是这样的:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent"> <!-- ... INSERT ANY VIEW HERE ... --> <!-- FRAME TO MASK UNDERLYING VIEW --> <ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="@drawable/grey_frame" android:layout_alignTop="@+id/mainLayout" android:layout_alignBottom="@+id/mainLayout" /> </RelativeLayout> 

完整的细节可以在我的原始答案中find:

  • Android XML四舍五入的angular落