2011-08-24 27 views
12

Trong chế độ xem web của chương trình, tải trong bố cục riêng biệt khi nhấp vào nút. bố cục đó chỉ có chế độ xem web đó. Tôi muốn thêm đường viền cho điều đó. Tôi thêm XML riêng biệt như sau vào nền cho chế độ xem web đó nhưng là không hoạt động.Cách đặt đường viền cho chế độ xem web trên Android

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#FFFFFF" /> 
<stroke android:width="10dp" android:color="#000000" /> 
<padding android:left="2dp" android:top="2dp" android:right="2dp"android:bottom="2dp"/> 
</shape> 

làm cách nào để thêm đường viền cho chế độ xem web trong Android ..? cảm ơn

+1

thể tham khảo này [SO trả lời] (http://stackoverflow.com/questions/7074546/border-texture-for-a-view/7074764# 7074764)? –

Trả lời

22

Đính kèm WebView trong Bố cục, thêm đường viền vào Bố cục và giữ phần đệm 2dp trong bố cục.

+0

nhờ công việc của nó .. !! – Miuranga

+0

bất kỳ lý do cụ thể nào tại sao cần có đệm? –

+0

Có thể hơi muộn, nhưng phần đệm giống như lề cho bên trong các đối tượng, vì vậy đệm là cần thiết để ngăn sự chồng chéo của webview vào nền bố trí –

4

WebView chính nó không thể có Drawable làm nền - xem WebView.onDraw trong WebView.java. Chỉ có màu đồng nhất, mặc định hoặc được lấy từ nội dung html. Giải pháp là (như đã được đề xuất) để làm cho WebView là con của Widget khác.

4

Câu trả lời của Abhinav là đúng, tôi chỉ thêm thông tin bổ sung này cho người mới bắt đầu tuyệt đối như bản thân tôi gặp phải câu trả lời này và thậm chí không biết cách "kèm theo WebView trong Bố cục" hoặc "thêm đường viền vào bố cục "; hy vọng nó có thể giúp ai đó:

  1. Create a new directory dưới /res và đặt tên cho nó drawable (bạn đã sẽ phải drawable-hdpi, drawable-mdpi, vv; đây là cho độ phân giải khác nhau - thư mục mới này drawable sẽ được sử dụng bất kể độ phân giải).
  2. Tạo tệp XML mới theo drawable và đặt tên là border.xml (trong Android Studio, bạn có thể nhấp chuột phải vào thư mục drawable và nhấp vào Mới> Tệp tài nguyên có thể kéo).
  3. Dán toàn bộ nội dung của XML của miuranga vào border.xml và lưu nó. Điều này được gọi là "Tài nguyên có thể rút" và sẽ được đưa vào tệp bố cục của bạn trong bước tiếp theo.
  4. Trong tệp bố cục của bạn, tạo Bố cục mới xung quanh WebView, như tôi đã thực hiện như được hiển thị bên dưới với LinearLayout con. Lưu ý rằng LinearLayout truy lục tài nguyên có thể kéo với thuộc tính android:background được đặt thành @drawable/border. Tôi tin rằng việc truy xuất border.xml bằng tên tệp của nó trừ đi phần mở rộng. Bằng cách thêm đường viền vào Bố cục bao quanh WebView, bạn đang trực quan đạt được một đường viền xung quanh Webview, hoạt động độc đáo.

nội dung activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.test.app.MainActivity" 
    android:orientation="vertical"> 
<LinearLayout android:background="@drawable/border" 
        android:layout_width="match_parent" 
        android:layout_height="380px"> 
    <WebView xmlns:android="http://schemas.android.com/apk/res/android" 
         android:id="@+id/webview" 
         android:layout_width="match_parent" 
         android:layout_height="match_parent" /> 
    </LinearLayout> 
</LinearLayout> 
+0

Cảm ơn điều này đã làm việc tuyệt vời cho tôi. Một điều cần thêm: bạn có thể thêm android: padding = "5dp" vào gốc LinearLayout (cái đầu tiên) để cung cấp đường viền một số khoảng trống từ các cạnh của màn hình. –

Các vấn đề liên quan