Android: дайте веб-обзор закругленные углы?

Я пытаюсь дать свои webView округлые углы.

Вот мой код:

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"/> 

Но это просто не сработает! Уголки не закруглены …

Спасибо заранее,

Единственный способ – обернуть элемент WebView другим представлением (например, FrameLayout) и применить закругленный угол фона на внешнем виде. Пример:

 <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> 

Где paddingTop и paddingBottom равно радиусу от drawable / white_rounded_area , paddingLeft и paddingRight равно ширине штриха drawable / white_rounded_area .

Минус этого подхода сверху нижних округлых панелей может иметь различный цвет фона с веб-страницей внутри 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> 

Я использую изображение, которое выглядит как рамка для картин, где я даю рамке закругленные углы. Я кладу эту рамку с картинкой на представление, которое я пытаюсь дать закругленным углам.

Это преодолевает проблему в решении фоновых панелей iBog, которые не работают красиво.


Хитрость заключается в использовании RelativeLayout ; Разместите в нем макет. Ниже вашего макета добавьте еще один ImageView , установив его background в подходящую рамку маскирующего изображения. Это нарисует это поверх вашего другого макета.

В моем случае я сделал файл 9Patch, который был серым фоном, с прозрачным закругленным прямоугольником, вырезанным из него.

Рамка

Это создает идеальную маску для вашего основного макета.

Код 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> 

Полные подробности можно найти в моем первоначальном ответе здесь:

  • Округлые обрезанные углы Android XML
Intereting Posts
Почему метод getOAuthAccessToken всегда запускает исключение в twitter4j api? Как избежать CollapsingToolbarLayout, не будучи разбитым или «неустойчивым» при прокрутке? Android: сборка полигональной формы Geofence Где я могу получить значок белого поиска? Копирование исполняемых файлов в систему / bin в android Android Facebook Login "LoginActivity не может быть запущен" Опубликовать на Facebook Страница поклонника через приложение MPAndroidChart удалить легенду Запустить приложение Android с включенной аппаратурой Android можно использовать с фоном и градиентом слева Android Authentication Mananger, когда требуется разрешение пользователя? Размер фонового изображения Android в пикселях API YouTube для Android: проигрыватель YouTubePlayerFragment Предотвратите второй вызов ajax от ожидания до завершения первого вызова ajax Лучший способ разрешить пользователям доступ к вашему приложению с помощью учетных данных Google