Tab Bar — คืออะไร แผงแท็บในแอปพลิเคชันมือถือ

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-02-22 เวลาอ่าน: 12 นาที

Tab Bar คือองค์ประกอบการนำทางที่อยู่ด้านล่างของหน้าจอแอปพลิเคชันมือถือ ซึ่งให้การเข้าถึงส่วนหลักอย่างรวดเร็ว บน iOS ใช้งานผ่าน UITabBarController บน Android ใช้งานผ่าน BottomNavigationView ของ Material Design เรียนรู้เพิ่มเติมเกี่ยวกับหลักการนำทางได้ที่ แนวทางการออกแบบส่วนติดต่อผู้ใช้ของ Apple

ประเด็นสำคัญ

  • Tab Bar — แผงนำทางด้านล่างสำหรับสลับระหว่าง 3–5 ส่วนหลักของแอป
  • UITabBarController — คอมโพเนนต์ iOS มาตรฐานสำหรับจัดการแท็บด้วยลักษณะของระบบ
  • BottomNavigationView — คอมโพเนนต์ Android จาก Material Design Library สำหรับการนำทางด้านล่าง
  • ป้าย — ตัวบ่งชี้ตัวเลขบนไอคอนแท็บเพื่อแสดงการแจ้งเตือน
  • การปรับแต่ง — ไอคอน สี ฟอนต์ และแอนิเมชันการสลับถูกกำหนดค่าผ่าน API ของแพลตฟอร์ม

Tab Bar คืออะไร?

Tab Bar (แถบแท็บ) คือองค์ประกอบอินเทอร์เฟซแบบกราฟิกที่อยู่ด้านล่างของหน้าจอแอปพลิเคชันมือถือ มันให้การเข้าถึงอย่างรวดเร็วไปยัง 3–5 ส่วนหลักของแอป แต่ละส่วนแสดงด้วยไอคอนและป้ายข้อความ ผู้ใช้แตะที่แท็บเพื่อสลับไปยังส่วนที่เกี่ยวข้อง Tab Bar จะยังคงมองเห็นได้บนหน้าจอทั้งหมดภายในแต่ละส่วน โดยให้จุดเข้าใช้งานที่คงที่

Apple แนะนำให้ใช้ Tab Bar สำหรับส่วนที่มีความสำคัญเท่ากัน แนวทางการออกแบบส่วนติดต่อผู้ใช้ (2026) ระบุว่า: "Tab Bar แสดง 3–5 แท็บ หากต้องการมากกว่านั้น แท็บสุดท้ายจะกลายเป็นรายการ 'เพิ่มเติม' ที่มีส่วนที่เหลืออยู่" Material Design ของ Google (2026) แนะนำ Bottom Navigation สำหรับจุดประสงค์เดียวกัน — 3–5 รายการ แท็บที่ใช้งานถูกเน้นด้วยสีและแอนิเมชัน

แตกต่างจากแถบแท็บด้านบน แผงด้านล่างสะดวกกว่าสำหรับการใช้งานด้วยมือเดียว — นิ้วหัวแม่มือสามารถเข้าถึงด้านล่างของหน้าจอได้อย่างเป็นธรรมชาติ การศึกษาของ Nielsen Norman Group (2025) แสดงให้เห็นว่าการนำทางด้านล่างช่วยลดเวลาในการทำงานให้เสร็จสิ้นลง 22% เมื่อเทียบกับการนำทางด้านบนบนสมาร์ทโฟนที่มีหน้าจอ 6 นิ้วขึ้นไป

UITabBarController ใน iOS

UITabBarController คือตัวควบคุมในตัวของ iOS สำหรับจัดระเบียบการนำทางผ่านแท็บ แต่ละแท็บจัดการชุดหน้าจอของตัวเอง ซึ่งโดยปกติจัดอยู่ใน UINavigationController UITabBarController จะสร้าง Tab Bar โดยอัตโนมัติที่ด้านล่างของหน้าจอด้วยพื้นหลังโปร่งแสงของระบบและแอนิเมชันการสลับ

swift
import UIKit

class MainTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let homeVC = HomeViewController()
        let searchVC = SearchViewController()
        let profileVC = ProfileViewController()

        homeVC.tabBarItem = UITabBarItem(
            title: "หน้าแรก",
            image: UIImage(systemName: "house.fill"),
            tag: 0
        )
        searchVC.tabBarItem = UITabBarItem(
            title: "ค้นหา",
            image: UIImage(systemName: "magnifyingglass"),
            tag: 1
        )
        profileVC.tabBarItem = UITabBarItem(
            title: "โปรไฟล์",
            image: UIImage(systemName: "person.circle.fill"),
            tag: 2
        )

        let homeNav = UINavigationController(rootViewController: homeVC)
        let searchNav = UINavigationController(rootViewController: searchVC)
        let profileNav = UINavigationController(rootViewController: profileVC)

        viewControllers = [homeNav, searchNav, profileNav]
    }
}

แต่ละแท็บในตัวอย่างมี UINavigationController ซึ่งช่วยให้สามารถนำทางแบบสแต็กภายในส่วนได้ tabBarItem กำหนดค่าไอคอน ชื่อเรื่อง และป้าย ระบบจะใช้รูปแบบ SF Symbols สำหรับไอคอนโดยอัตโนมัติ — สัญลักษณ์มาตรฐานของ Apple ที่รองรับชนิดไดนามิกและหลายสี

BottomNavigationView ใน Android

BottomNavigationView คือคอมโพเนนต์ Android จาก Material Design Library ที่ใช้งานแผงนำทางด้านล่าง ใน Android 13+ จะใช้ NavigationBarView — ผู้สืบทอดที่มีแอนิเมชันที่ดีขึ้นและพฤติกรรมแบบปรับตัวได้ BottomNavigationView เป็นไปตามข้อกำหนด Material Design 3 (Material You) และรองรับธีมแอป สีไดนามิก และแอนิเมชันการสลับ

kotlin
class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        val navView: NavigationBarView = binding.navView
        val navController = findNavController(R.id.nav_host_fragment)

        // การเชื่อมโยง BottomNavigation กับ NavController
        navView.setupWithNavController(navController)

        // การตั้งค่าป้ายบนแท็บการแจ้งเตือน
        val badge = navView.getOrCreateBadge(R.id.navigation_notifications)
        badge.isVisible = true
        badge.number = 12
    }
}

คอมโพเนนต์ BottomNavigationView รองรับ Material Design 3 ด้วยสามรูปแบบ: default (ป้าย + ไอคอน), labeled (ป้ายขนาดใหญ่) และ unlabeled (ไอคอนเท่านั้น) เมธอด setupWithNavController เชื่อมโยงแผงกับ Navigation Component โดยอัปเดตแท็บที่ใช้งานโดยอัตโนมัติเมื่อเปลี่ยนหน้าจอ ป้ายถูกสร้างขึ้นผ่าน getOrCreateBadge และรองรับตัวบ่งชี้ตัวเลขและจุด

ป้ายและตัวบ่งชี้บน Tab Bar

ป้าย คือตัวบ่งชี้ตัวเลขหรือจุดบนไอคอนแท็บ ซึ่งแสดงจำนวนการแจ้งเตือน ข้อความใหม่ หรืองาน บน iOS ป้ายถูกกำหนดผ่านคุณสมบัติ badgeValue บน UITabBarItem บน Android ป้ายถูกจัดการผ่าน BadgeDrawable (Material 3) หรือ getOrCreateBadge ใน NavigationBarView

ป้ายเป็นเครื่องมือสร้างการมีส่วนร่วมที่ทรงพลัง: การวิจัยของ Localytics (2025) แสดงให้เห็นว่าแอปที่มีป้ายมีอัตราการรักษาผู้ใช้สูงขึ้น 18% ในวันที่ 7 อย่างไรก็ตาม การใช้ป้ายมากเกินไป (มากกว่า 3 ป้ายพร้อมกัน) ทำให้ CTR ลดลง 12% Apple และ Google แนะนำให้แสดงป้ายเฉพาะสำหรับการแจ้งเตือนที่เกี่ยวข้องและรีเซ็ตเมื่อเปิดส่วน

แพลตฟอร์มคอมโพเนนต์การตั้งค่าป้าย
iOSUITabBarItem.badgeValuetabBarItem.badgeValue = "5"
AndroidBadgeDrawablebadge.number = 5
iOSป้ายจุดtabBarItem.badgeColor = .red
Androidตัวบ่งชี้จุดbadge.isVisible = true

การปรับแต่ง Tab Bar: ไอคอน สี แอนิเมชัน

ทั้งสองแพลตฟอร์มมีตัวเลือกการปรับแต่งที่หลากหลายสำหรับ Tab Bar บน iOS คุณสามารถเปลี่ยนสีพื้นหลัง สี tint ของแท็บที่ใช้งาน ฟอนต์ป้าย และเพิ่มไอคอนที่กำหนดเองผ่าน SF Symbols หรือทรัพย์สินที่กำหนดเอง บน Android การปรับแต่งรวมถึงรูปแบบ Material 3 แอนิเมชันการสลับ เอฟเฟกต์ระลอกคลื่น และสีไดนามิกตามวอลเปเปอร์

swift
// การปรับแต่ง Tab Bar ใน iOS
let appearance = UITabBarAppearance()
appearance.backgroundColor = .systemBackground
appearance.stackedLayoutAppearance.normal.titleTextAttributes = [
    .foregroundColor: UIColor.secondaryLabel,
    .font: UIFont.systemFont(ofSize: 11)
]
appearance.stackedLayoutAppearance.selected.titleTextAttributes = [
    .foregroundColor: UIColor.systemBlue,
    .font: UIFont.boldSystemFont(ofSize: 12)
]
tabBar.standardAppearance = appearance.

บน Android การปรับแต่ง BottomNavigationView ทำได้ผ่านแอตทริบิวต์ XML หรือการเขียนโปรแกรม Material 3 นำเสนอแนวคิดของสีไดนามิก: จานสีถูกสร้างจากวอลเปเปอร์ของผู้ใช้และนำไปใช้กับคอมโพเนนต์โดยอัตโนมัติ นักพัฒนาสามารถแทนที่สีผ่านธีม ตั้งค่าแอนิเมชันตัวบ่งชี้ที่กำหนดเอง และกำหนดค่าเอฟเฟกต์ระลอกคลื่น

kotlin
// การปรับแต่ง BottomNavigationView ใน Android
val navView = findViewById<NavigationBarView>(R.id.nav_view)

with (navView) {
    labelVisibilityMode = NavigationBarView.LABEL_VISIBILITY_LABELED
    itemActiveIndicatorStyle = R.style.CustomIndicator
    itemRippleColor = ColorStateList.valueOf(
        Color.valueOf("#FFE0B2")
    )
}

// ใน XML: app:menu="@menu/bottom_nav_menu"
// ใน XML: app:itemActiveIndicatorStyle="@style/Widget.Material3.BottomNavigationView.ActiveIndicator"

แนวปฏิบัติที่ดีที่สุดสำหรับการนำทางด้านล่าง

เมื่อออกแบบ Tab Bar สิ่งสำคัญคือต้องปฏิบัติตามคำแนะนำของแพลตฟอร์มและงานวิจัยด้านการใช้งาน Apple HIG: ไม่เกิน 5 แท็บ ข้อความกระชับ ไอคอนมีความหมาย Material Design: 3–5 รายการ รายการที่ใช้งานถูกเน้น ตัวนับป้ายไม่เกิน 99 NN Group (2025): การนำทางด้านล่างควรมองเห็นได้บนหน้าจอทั้งหมดของส่วน มิฉะนั้นผู้ใช้จะสูญเสียบริบท

ข้อผิดพลาดทั่วไป: 6+ แท็บ (บังคับให้ใช้ 'เพิ่มเติม' — ลดความสามารถในการค้นพบ) การเปลี่ยนลำดับแท็บระหว่างการนำทาง (ทำให้ผู้ใช้สับสน) การซ่อน Tab Bar บนหน้าจอที่ซ้อนกัน (สูญเสียจุดยึดการนำทาง) แนวปฏิบัติที่ดีที่สุดรวมถึงลำดับที่คงที่ ไอคอนและป้ายข้อความที่สอดคล้องกัน ป้ายเฉพาะสำหรับการกระทำของผู้ใช้ (ไม่ใช่การตลาด)

  • 3–5 แท็บ — จำนวนที่เหมาะสมที่สุดสำหรับการเลือกอย่างรวดเร็วโดยไม่โอเวอร์โหลด
  • ลำดับคงที่ — แท็บควรมีความเสถียร ไม่มีการจัดลำดับใหม่แบบไดนามิก
  • ไอคอน + ป้าย — ทั้งสององค์ประกอบจำเป็นสำหรับการทำความเข้าใจส่วน
  • แท็บที่ใช้งาน — ควรแตกต่างทางสายตาด้วยสี ไอคอน หรือแอนิเมชัน
  • ป้าย — ใช้สำหรับการแจ้งเตือน รีเซ็ตเมื่อเปิดส่วน

คำถามที่พบบ่อย

Tab Bar ควรมีกี่แท็บ?

Apple และ Google แนะนำ 3–5 แท็บ น้อยกว่าสาม — มีส่วนไม่เพียงพอที่จะทำให้แผงด้านล่างมีความจำเป็น มากกว่าห้า — โอเวอร์โหลดทางปัญญา แท็บสุดท้ายกลายเป็นรายการ 'เพิ่มเติม' จำนวนที่เหมาะสมที่สุดตาม NN Group (2025) คือ 4 แท็บ

ความแตกต่างระหว่าง Tab Bar และ Bottom Navigation คืออะไร?

Tab Bar คือคำศัพท์ของ Apple สำหรับแผงด้านล่าง iOS (UITabBarController) Bottom Navigation คือสิ่งที่เทียบเท่าใน Android (BottomNavigationView) ในทางการทำงานแล้วเหมือนกัน: การเข้าถึง 3–5 ส่วนอย่างรวดเร็ว ความแตกต่างอยู่ในรูปแบบภาพ: iOS — พื้นหลังโปร่งแสงด้วยเบลอ, Android — สีคงที่ด้วยเอฟเฟกต์ระลอกคลื่น

ฉันสามารถซ่อน Tab Bar บางหน้าจอได้ไหม?

ได้ แต่ด้วยความระมัดระวัง ใน iOS — hidesBottomBarWhenPushed = true บน UIViewController ใน Android — View.GONE บน BottomNavigationView แนวปฏิบัติที่ดีที่สุดคือซ่อนเฉพาะบนหน้าจอแบบเต็มจอ (การดูรูปภาพ วิดีโอ) และแสดงคืนเมื่อกลับมา การซ่อนเป็นเวลานานทำให้ผู้ใช้สับสน

ฉันจะเพิ่มป้ายบนแท็บ Tab Bar ได้อย่างไร?

ใน iOS ตั้งค่า tabBarItem.badgeValue = "N" (เป็นสตริง) ใน Android ใช้ getOrCreateBadge(resId) บน NavigationBarView ป้ายจะแสดงโดยอัตโนมัติเป็นวงกลมสีแดงพร้อมตัวเลข การล้าง: badgeValue = nil (iOS), removeBadge(resId) หรือ badge.isVisible = false (Android)

ทำไม Tab Bar ถึงถูกซ่อนบน iPhone X+?

บนอุปกรณ์ที่มี Home Indicator (iPhone X ขึ้นไป) Tab Bar จะถูกยกขึ้นเหนือตัวบ่งชี้โดยอัตโนมัติ ระบบเพิ่ม Safe Area Insets ที่ด้านล่างของหน้าจอ นักพัฒนาไม่จำเป็นต้องปรับระยะขอบด้วยตนเอง — UIKit และ Android SystemUI จัดการสิ่งนี้โดยอัตโนมัติ

สรุป

  • Tab Bar — แผงนำทางด้านล่างที่มี 3–5 แท็บ องค์ประกอบมาตรฐานบน iOS และ Android
  • UITabBarController (iOS) และ BottomNavigationView (Android) คือการใช้งานเฉพาะแพลตฟอร์ม
  • ป้าย — ตัวบ่งชี้ตัวเลขบนแท็บสำหรับการแจ้งเตือน เพิ่มอัตราการรักษาผู้ใช้ 18%
  • การปรับแต่ง รวมถึงสี ไอคอน ฟอนต์ และแอนิเมชันการสลับบนทั้งสองแพลตฟอร์ม
  • แนวปฏิบัติที่ดีที่สุด — ลำดับคงที่ ไอคอน + ป้าย 3–5 แท็บ มองเห็นได้บนทุกหน้าจอ
  • Tab Bar + การนำทาง — แต่ละแท็บมักมีตัวนำทางแบบสแต็กสำหรับหน้าจอที่ซ้อนกัน
  • Safe Area — แผงด้านล่างปรับตัวโดยอัตโนมัติสำหรับ Home Indicator บนอุปกรณ์ไร้ขอบ

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม