Proteus มีไว้เพื่อทดแทนแบบดรอปอินสำหรับ LayoutInflater
ของ Android แต่ไม่เหมือนกับเลย์เอาต์ XML ที่คอมไพล์แล้วซึ่งรวมอยู่ใน APK นั้น Proteus จะขยายเลย์เอาต์ในขณะรันไทม์ ด้วย Proteus คุณสามารถควบคุมเค้าโครงแอพของคุณจากแบ็กเอนด์ (ไม่มี WebViews) ลืมรหัสสำเร็จรูปเพื่อ findViewById
ส่งไปที่ TextView
แล้ว setText()
Proteus มีการผูกข้อมูลรันไทม์และตัวจัดรูปแบบ ปลั๊กอินในมุมมองและคุณลักษณะและฟังก์ชันที่คุณกำหนดเองเพื่อปรับแต่งรสชาติตามความต้องการของคุณ
// Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
google ( )
jcenter ( )
maven { url 'https://jitpack.io' }
}
}
// Add in your app level dependency
dependencies {
implementation 'com.github.flipkart-incubator.proteus:proteus-core:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:gson-adapter:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:cardview-v7:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:design:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:recyclerview-v7:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:support-v4:5.0.1'
}
แทนที่จะเขียนเลย์เอาต์ใน XML
เลย์เอาต์ ของโพรทูส จะอธิบายไว้ใน JSON
ซึ่งสามารถใช้เพื่อขยาย UI ดั้งเดิมของ Android เมื่อรันไทม์ เค้าโครง JSON
สามารถโฮสต์ได้ทุกที่ (บนอุปกรณ์ บนเซิร์ฟเวอร์ ฯลฯ)
เค้าโครง จะกำหนดลำดับชั้นของมุมมอง เช่นเดียวกับ XML
ข้อมูล (เป็นทางเลือก) กำหนดการผูกข้อมูล การเชื่อมโยงข้อมูลเหล่านี้คล้ายคลึงกับไลบรารี Data Binding ของ Android
มอบ layout
และ data
ให้กับ ProteusLayoutInflater
และรับลำดับชั้นมุมมองดั้งเดิมกลับคืนมา
ดูวิดีโอนี้เพื่อดูการทำงาน
{
"type" : "LinearLayout" ,
"orientation" : "vertical" ,
"padding" : "16dp" ,
"children" : [ {
"layout_width" : "200dp" ,
"gravity" : "center" ,
"type" : "TextView" ,
"text" : "@{user.profile.name}"
} , {
"type" : "HorizontalProgressBar" ,
"layout_width" : "200dp" ,
"layout_marginTop" : "8dp" ,
"max" : 6000 ,
"progress" : "@{user.profile.experience}"
} ]
}
{
"user" : {
"profile" : {
"name" : "John Doe" ,
"experience" : 4192
}
}
}
ProteusView view = proteusLayoutInflater . inflate (< layout >, < data >);
container . addView ( view . getAsView ());
แอปสาธิตจะช่วยให้คุณสามารถเล่นกับโพรทูสและช่วยให้คุณเข้าใจระบบภายในได้ดีขึ้น
npm start
พร้อมที่จะคนจรจัด
วิธีที่ง่ายที่สุดในการสนับสนุนคือการฟอร์ก Repo ทำการเปลี่ยนแปลง และสร้าง Pull Request
อาปาเช่ เวอร์ชัน 2.0
หากคุณใช้โพรทูส ให้ลองดูกระป๋อง ไม่สามารถใช้ และจำเป็น
คุณสามารถตรวจสอบผู้มีส่วนร่วมได้ที่นี่ แต่หากคุณต้องการติดต่อเรา เพียงแค่ส่งจดหมาย
พบกับเราได้ที่ StackOverflow ที่ Proteus
ดาวน์โหลดปลั๊กอินนี้ (ในรุ่นเบต้า) สำหรับ Android Studio เมื่อเปิดใช้งานแล้ว คุณสามารถเลือกไฟล์ทรัพยากร Android XML ใดก็ได้ และไปที่ เครื่องมือ > Proteus > แปลง XML เป็น JSON