เจออะไรแปลกใหม่อีกหละ เพราะว่าต้องดัดแปลง TabNavigator นิดหน่อยโดยการจับ Tab ย้ายมาอยู่ด้านล่างตอนแรกนึกว่าจะง่ายๆ แค่กำหนด property ไรนิดหน่อยก็น่าจะเสร็จ ที่ไหนได้ ต้องเขียนเพิ่มเอง -_-! แล้วก็พบปัญหาว่าไอ้ component อื่นๆ ที่อยู่ใน TabNavigator เนี๊ยะ มันกำหนดตำแหน่งด้วยตัวแปร border ที่ method layoutChrome
    override protected function layoutChrome(unscaledWidth:Number,
                                             unscaledHeight:Number):void
    {
        super.layoutChrome(unscaledWidth, unscaledHeight);
        // Move our border so it leaves room for the tabs
        if (border)
        {
            var borderOffset:Number = tabBarHeight;
            border.setActualSize(unscaledWidth, unscaledHeight - borderOffset);
            border.move(0, borderOffset);
        }
    }
ตัวแปร border มันดันเป็นตัวแปรพิเศษซ่อนอยู่ใน namespace mx_internal ลองดูไฟล์ต้นฉบับมันก็ใส่แค่
use namespace mx_internal
แต่พอเอามาใช้เองบ้างกลับได้ Error มาว่าไม่รู้จัก namespace นี้วิธีแก้คือต้อง import มันมาด้วย
import mx.core.mx_internal
use namespace mx_internal
เท่านี้ก็ใช้ border ได้แล้ว แต่ใน namespace นี้นอกจากตัวแปร border แล้วยังมีอย่างอื่นอีกเยอะแยะมากมาย ไว้สำหรับใช้ภายในคลาสต่างๆ ที่ Adobe ทำขึ้นอยากรู้รายละเอียดลองไปอ่านตาม link ที่อ้างอิงดูหรือไม่ก็ googling ด้วย keyword mx_internal ก็ได้แล้วจะพบเรื่องลึกลับมากมายที่ Adobe เก็บไว้
อ้างอิง: What is mx_internal?