Anko - Thay đổi cách viết layout cho Android
Bài đăng này đã không được cập nhật trong 4 năm
- Anko là một thư viện được viết bằng kotlin giúp chúng ta phát triển ứng dụng Android dễ dàng và nhanh hơn.
- Anko thực chât được viết theo kiểu extension functionscủa Kotlin các bạn có thể tìm hiểu ở đây
- Nếu các bạn đã chán với việc tạo layout xmltheo kiểu truyền thống thì anko sẽ giúp chúng ta thay đổi phong cách ấy :v
- Bài này mình sẽ tạo demo 1 layout đơn giản với Anko Layouts
1.Cấu hình
- Để sử dụng Anko thì tất nhiên project của mình phải được viết bằng kotlin
- Sau đó chúng ta thêm như sau :
 compile "org.jetbrains.anko:anko-sdk25:$anko_version" 
 compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
 compile "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version"
 compile "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version"
2.Tạo File class MainUI
class MainUI : AnkoComponent<MainActivity> {
    override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
        verticalLayout {
            gravity = Gravity.CENTER
            padding = dip(20)
            textView {
                gravity = Gravity.CENTER
                text = "Hello Framgia !!"
                textColor = Color.BLACK
                textSize = 24f
            }.lparams(width = matchParent) {
                margin = dip(20)
            }
            button("Click Now !") {
                onClick { toast("Good bye !") }
            }.lparams(dip(280), sp(80))
        }
    }
}
- Đây là điểm khác so với viết layout truyền thống là Anko viết layout ở class :v
- Anko hỗ trợ cho tất cả các loại layout cơ bản cũng các thuộc tính không khác gì xmlcả.
- Để xem preview layout thì các bạn làm như sau : Install Anko Support ở Settings >> Plugins 
- Sau đó vào View > Tool Windows > Anko Layout Previewnó sẽ ra như thế này 
3.Implement vào MainActivity
- Chúng ta làm như sau :
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        MainUI().setContentView(this)
    }
- Chạy lên emulator để kiểm tra thôi nào
 
Tài liệu tham khảo
- Đây chỉ là demo nhỏ về anko, còn rất nhiều thứ có để tham khảo ở đây : https://github.com/Kotlin/anko
- Cảm ơn các bạn đã đọc bài viết của mình.
All rights reserved
 
  
 