2012-06-06 23 views
33

मैं अपने लेआउट में उचित टेक्स्ट प्रदर्शित करने के लिए एक वेब व्यू जोड़ रहा हूं। मैं WebView की पृष्ठभूमि को टेक्स्ट व्यू जैसे दिखाई देने के लिए पारदर्शी होने के लिए सेट करना चाहता हूं। यहाँ मैं क्या किया है:एंड्रॉइड वेबव्यू पृष्ठभूमि रंग

WebView synopsis; 
synopsis=(WebView)findViewById(R.id.synopsis); 
synopsis.setBackgroundColor(0x00000000); 

यह एमुलेटर पर काम करता है, लेकिन यह काम नहीं करता है जब मैं अपने डिवाइस पर अनुप्रयोग चलाने: क्या मैं एक सफेद पृष्ठभूमि है।

String textTitleStyling = "<head><style>* {margin:0;padding:0;font-size:20; text-align:justify; color:#FFFFFF;}</style></head>"; 
String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis + "</h1></body>"; 
synopsis.loadData(textTitleStyling + movie.synopsis, "text/html", "utf-8"); 
synopsis = (WebView) findViewById(R.id.synopsis); 
synopsis.getSettings(); 
synopsis.setBackgroundColor(0); 

उत्तर

57

synopsis.getSettings() का उपयोग करने का प्रयास करें;

WebView synopsis; 
synopsis=(WebView)findViewById(R.id.synopsis); 
synopsis.getSettings(); 
synopsis.setBackgroundColor(Color.TRANSPARENT); 
+1

उत्तर के लिए धन्यवाद लेकिन यह – Vervatovskis

+2

काम नहीं करता है यह मेरे लिए काम करता है .. – Rookie

+1

यह विधि ** केवल ** काम कर रही है यदि आप सीधे रंग निर्दिष्ट करते हैं: 'synopsis.setBackgroundColor (रंग।काले); ' सैमसंग टैब 4 7" एंड्रॉयड 4.4.2 – Choletski

2

मैं ऐसा क्या

synopsis.setBackgroundColor(0); 

आशा है कि यह मदद करता है!

+0

उत्तर के लिए धन्यवाद लेकिन यह – Vervatovskis

+0

काम नहीं करता है शायद आपको पूरा कोड (एचटीएमएल सहित) लिखना चाहिए क्योंकि मुझे डर है कि गलती है। – user1256477

+0

यह कोड {\t स्ट्रिंग है textTitleStyling = " "; \t \t \t \t \t स्ट्रिंग titleWithStyle = textTitleStyling +"

"+ movie.synopsis +"

"; \t \t \t \t \t synopsis.loadData (textTitleStyling + movie.synopsis , "text/html", "utf-8"); \t \t \t \t \t सार = (WebView) findViewById (R.id.synopsis); \t \t \t \t \t synopsis.getSettings(); \t \t \t \t \t synopsis.setBackgroundColor (0);} – Vervatovskis

2

क्या आपने अपना वेबव्यू में सीएसएस लोड किया था?

कुछ की तरह:

synopsis.loadData(textTileStyling, "text/html", "UTF-8"); 

या

synopsis.loadDataWithBaseURL("", textTileStyling, "text/html", "UTF-8", ""); 
+0

या synopsis.loadDataWithBaseURL ("", textTileStyling, "text/html", "UTF-8", ""); – Timothy

+0

आपके उत्तर के लिए धन्यवाद, मैंने अपनी पोस्ट संपादित की है, आप पाएंगे कि मैंने डेटा लोड किया है – Vervatovskis

17

कोड आशा नीचे कोशिश आप के लिए पूर्ण उपयोग करें: -

webview.setBackgroundColor(Color.parseColor("#919191")); 

ग्रे कोड: #919191

1

अपने HTML कोड सफेद

के लिए सब कुछ सेट बदलें:

 

    String textTitleStyling = "<head><style>* {margin:0;padding:0;font-size:20; " + 
    "text-align:justify; color:#FFFFFF;}</style></head>"; 

    String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis + 
    "</h1></body>"; 

    synopsis.loadData(textTitleStyling + movie.synopsis, "text/html", "utf-8"); 
    synopsis = (WebView) findViewById(R.id.synopsis); 
    synopsis.getSettings(); 
    synopsis.setBackgroundColor(0); 

के साथ:

इस शीर्ष लेख शैली से रंग शामिल नहीं है और लागू होता है शेष तत्व केवल शरीर तत्व

 

    String textTitleStyling = "<head><style>body{margin:0;padding:0;font-size:20; " + 
    "text-align:justify;}</style></head>"; 

    String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis + 
    "</h1></body>"; 

    synopsis.loadData(titleWithStyle, "text/html", "utf-8"); 
    synopsis = (WebView) findViewById(R.id.synopsis); 
    synopsis.getSettings(); 
    synopsis.setBackgroundColor(0); 

संपादित करें: तय एचटीएमएल

12

आप इस XML कोड में डाल दिया जाना चाहिए:

android:background="@android:color/transparent" 

अपने वेब दृश्य के लिए इस तरह उदाहरण के लिए:

<WebView 
    android:id="@+id/MyWebView" 
    android:layout_width="fill_parent" 
    android:layout_height="62dp" 
    android:background="@android:color/transparent" 
    android:scrollbars="none" /> 

और इस के बाद आप जावा कोड पर जाना चाहिए और loadUrl से पहले इसे लिखना चाहिए:

yourWebView.setBackgroundColor(Color.TRANSPARENT); 
+9

मुझे एंड्रॉइड डालने की आवश्यकता नहीं थी: पृष्ठभूमि = "@ एंड्रॉइड: रंग/पारदर्शी" मेरे एक्सएमएल में, बस सेट करने के लिए पर्याप्त था बैकग्राउंड कोलोर (Color.TRANSPARENT); कोड में (केवल एक्सएमएल को बदलना मेरे लिए काम नहीं करता है) – nibarius

+1

यदि एक्समरिन का उपयोग करते हैं, तो 'वेबव्यू। सैटबैकग्राउंडकॉलर (एंड्रॉइड.ग्राफिक्स.कॉलर। ट्रांसपेरेंट);' पर्याप्त है। – VSG24

संबंधित मुद्दे