آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تعیین فونت و RTL کردن محتوای لود شده WebView در Fragment

احسان  7 سال پیش  6 سال پیش
+1 0

سلام ، 

در یک Fragment چگونه میشه محتوای لود شده وب ویو رو راست چین کرد ، و همچنین چگونه فونت آن را تغییر دهیم ؟

حل شد! با تشکر از دوستان

0 0
عکس اینکه چه جوری هم کار می کنه بزار ممنون (7 سال پیش)
+1 0
باید برای وب ویو یک فایل css بسازید که اطلاعاتی شمال راست و چپ بودن نوشته ها , فونت و .... رو اونجا قرار بدید و بعد روی وب ویو ست کنید (7 سال پیش)
0 0
@atf بخش css مشکلی نیست ، حالا چطور باید توی fragment روی وب ویو ست کنیم ؟ (7 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
atf  7 سال پیش
+2 0

داخل فولدر assets یک فایل style.css بسازید

مثلا اینا مشخصاتی که تو وب ویو میخوایدش

 h1 {
   color: #2a2a2a;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

h2 {
   color: #2a2a2a;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

h5 {
   color: #2a2a2a;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

p {
   color: #2f2f2f;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

a:link {
   color: #5677fc;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

a:visited {
   color: #9575cd;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

a:active {
   color: #2a36b1;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

a:hover {
   color: #2a36b1;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

img {
   max-width: 300px;
   max-height: 300px;
   width: auto;
   height: auto;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}


video {
   max-width: 300px;
   max-height: 400px;
   width: auto;
   height: auto;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

iframe {
   max-width: 100%;
   max-height: 400px;
   width: auto;
   height: auto;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

blockquote {
   margin: 0px;
   padding: 16px;
   background-color: #e7e7e7;
   border-right: 4px solid #cbcbcb;
   text-indent: 24px;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

* {
   color: #2a2a2a;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}
div * {
   color: #2a2a2a;
    font-family: MyFont;
    font-size: medium;
    text-align: right;
}

@font-face {
    font-family: MyFont;
    src: url("file:///android_asset/fonts/xxx.ttf")
}

 

بعد برای وب ویو اطلاعات رو اینجوری ست کنید

 

webView = (WebView) v.findViewById(R.id.webView);
webView.setWebChromeClient(new WebChromeClient()); webView.getSettings().setJavaScriptEnabled(true);

webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (Utils.containsImage(url)) { }else{ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); } return true; } });

String s = getContent; String ContentStr = "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + s; webView.loadDataWithBaseURL("file:///android_asset/", ContentStr, "text/html", "UTF-8", null);

getContent میشه هر اطلاعاتیه که دارید

 

0 0
هر چقدر تلاش کردم نشد این کد ها رو اضافه کنم ارور های متفاوتی میده (7 سال پیش)
+1 0
متشکر ، با استفاده از کد های شما و تغییراتی دیگر مشکلم حل شد! (7 سال پیش)
پاسخ به سوال 
sar3da  6 سال پیش
0 0

سلام
فقط کافیه این کد رو قرار بدید
webViewContent.loadDataWithBaseURL("", "<html dir=\"rtl\" lang=\"\"><body>" + LoadData + "</body></html>", "text/html", "UTF-8", null);


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .