Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

วิธีเปิด Scroll Bar แนวตั้งใน Android WebView

ภาพรวม

บทความนี้สาธิตการเปิดใช้งาน Scroll Bar แนวตั้งใน WebView ผ่าน setVerticalScrollBarEnabled(true) และตั้งค่า Default Text Encoding เป็น UTF-8

โค้ดการตั้งค่า WebView

WebView webView = findViewById(R.id.web_view);
webView.setVerticalScrollBarEnabled(true);  // เปิด Scroll Bar แนวตั้ง
webView.getSettings().setDefaultTextEncodingName("utf-8");
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://touch.facebook.com/");

การตั้งค่า Scroll Bar เพิ่มเติม

// สไตล์ Scroll Bar
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); // หรือ OUTSIDE_OVERLAY, INSIDE_INSET

// สี Scroll Bar (API 21+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    webView.setVerticalScrollbarThumbDrawable(
        ContextCompat.getDrawable(this, R.drawable.custom_scrollbar_thumb)
    );
    webView.setVerticalScrollbarTrackDrawable(
        ContextCompat.getDrawable(this, R.drawable.custom_scrollbar_track)
    );
}

// ปิด Scroll Bar แนวนอน (ถ้าไม่ต้องการ)
webView.setHorizontalScrollBarEnabled(false);

WebViewClient และ WebChromeClient

โค้ดตัวอย่างรวม ProgressDialog สำหรับแสดงสถานะโหลดหน้าเว็บ

Manifest

<uses-permission android:name="android.permission.INTERNET"/>

ข้อสังเกต

  • Scroll Bar จะแสดงอัตโนมัติเมื่อเนื้อหายาวกว่าหน้าจอ
  • UTF-8 Encoding ป้องกันปัญหาภาษาไทย/อักษรพิเศษแสดงผิด
  • Facebook Mobile (touch.facebook.com) ใช้เป็นตัวอย่างเว็บที่มีเนื้อหายาว