YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Vietnamese subtitles

← LinearLayout

Get Embed Code
13 Languages

Showing Revision 4 created 10/09/2015 by Retired user.

  1. Được rồi, chúng ta đã thấy
    layout tuyến tính này có
  2. hai text view con bên trong nó.
  3. Bằng cách này, những màu nền
    chỉ là công cụ hướng dẫn để giúp bạn
  4. hiểu rằng hai text view con
    này nằm trong view gốc.
  5. Các màu đỏ và xanh thực ra
    sẽ không hiển thị trên thiết bị
  6. trừ khi bạn cài đặt chúng
    thành màu nền của các view này.
  7. Để bạn hiểu được ý của tôi,
    ta hãy chuyển sang XML Visualizer.
  8. Nếu ta ngẫu nhiên nhâp code
    đến XML Visualizer,
  9. nó sẽ trông như thế này
    trên màn hình thiết bị.
  10. Vậy, đầu tiên chúng ta có
    một nhóm view LinearLayout,
  11. và nó trong suốt
    vì không cài đặt màu nền.
  12. View con đầu tiên là một TextView
    có danh sách khách mời,
  13. để chiếu ở phía trên đây.
  14. View con thứ hai là một TextView
    ghi chữ Kunal
  15. xuất hiện dưới TextView đầu tiên.
  16. Bây giờ, nếu tôi sao chép TextView này
    và dán nó bên dưới cái này,
  17. Bạn nghĩ chuyện gì sẽ xảy ra?
  18. Vâng, chúng tôi có một Kunal khác
    xuất hiện ngay bên dưới cái đầu tiên.
  19. Được rồi, vậy mô hình có vẻ như sẽ là
    nếu chúng ta thêm nhiều TextViews,
  20. ở đây, sau đó chúng sẽ hiển thị nối tiếp
    các textview khác trong danh sách này.
  21. Bây giờ chúng ta hãy nhìn vào code kĩ hơn.
  22. Nó bắt đầu bằng việc mở một dấu ngoặc
  23. và sau đó là tên view, LinearLayout.
  24. Nó sẽ liệt kê một loạt các thuộc tính
    và sau đó là dấu ngoặc đóng.
  25. Chú ý rằng không có dấu gạch chéo
    vì đây chỉ là thẻ đầu tiên
  26. của LinearLayout.
  27. Thẻ đóng là nằm ở dưới đây,
    bởi vì chúng tôi.
  28. muốn chèn view con
    giữa thẻ mở và thẻ đóng.
  29. Nhưng ví dụ đối với view thử nghiệm này,
    vì không có view con trong đó,
  30. nên chúng ta chỉ có thể sử dụng
    một thẻ tự đóng cho nó
  31. Tương tự cho với text view ở đây,
    và ở đây nữa.
  32. Vì vậy, khi chúng ta muốn một nhóm view
    gồm các view con,
  33. thì chúng ta cần phải chèn view con
    vào giữa thẻ mở và thẻ đóng.
  34. Bây giờ, một điều khác bạn có thể
    nhận thấy là thuộc tính được gọi là
  35. định hướng Android này
    theo chiều dọc.
  36. Ta chưa từng nhìn thấy điều này,
  37. vậy hãy nhìn vào những tài liệu
    hướng dẫn Android như tôi đã chỉ cho bạn.
  38. Tôi mở một cửa sổ trình duyệt mới,
    và Sau đó gõ android orientation.
  39. Kết quả đầu tiên là về
    một LinearLayout,
  40. và nó ở trang developer.android.com.
  41. Hãy click vào nó.
  42. Cũng giống như tài liệu TextView,
    tài liệu về orientation rất nhiều.
  43. Chúng ta có thể bỏ qua
    hầu hết các văn bản này.
  44. Ta chỉ cần xác minh
    đây chính là trang cho LinearLayout,
  45. sau đó ta kéo xuống
    và nhìn vào các thuộc tính XML.
  46. Bây giờ, ta đang tìm kiếm thuộc tính
    được gọi là định hướng Android,
  47. và nó đây rồi.
  48. Hãy nhấp vào nó để xem thêm chi tiết.
  49. Các mô tả nói rằng thuộc tính này
  50. quyết định việc layout
    sẽ một cột hay một hàng.
  51. Giá trị của thuộc tính này
    sẽ nằm ngang với hàng,
  52. trong đó giá trị sẽ thẳng đứng với cột.
  53. Và sau đó nó sẽ liệt kê hai giá trị ở đây.
  54. Tuyệt, vậy code của chúng ta hiện nay
    nói rằng định hướng android là thẳng đứng.
  55. Vậy điều này giải thích tại sao các view
    được hiển thị theo cột.
  56. Giờ để thỏa mãn sự tò mò của chúng ta,
    hãy thử các giá trị khác.
  57. Hãy thiết lập định hướng
    nằm ngang và xem chuyện gì sẽ xảy ra.
  58. Tôi sẽ đi vào các dòng code và
    xóa các giá trị theo chiều dọc.
  59. Tôi sẽ gõ horizontal, và nhìn này,
    giờ các view làm thành một hàng ngang.
  60. Tôi không biết bạn như thế nào,
  61. nhưng tôi không thích đọc
    danh sách khách mời theo chiều ngang.
  62. Nhưng vẫn có nhiều trường hợp có ích khác
  63. khi bạn có layout tuyến tính ngang.
  64. Ví dụ, nếu bạn đang tạo một danh mục,
    có thể bạn muốn một hình ảnh
  65. nằm ở phía bên tay trái,
    và một mô tả ở phía bên tay phải.
  66. Tôi sẽ để cho bạn tự thử nghiệm
    trong một giây,
  67. nhưng đầu tiên tôi muốn chỉ ra
    thêm dòng mã này.
  68. Đây là tên khai báo không gian XML.
  69. Ta sử dụng tên không gian này
    để xác định rằng tất cả các thuộc tính
  70. ở đây thuộc về android.
  71. Đó là lý do tại sao chúng bắt đầu
    bằng android:.
  72. Đây là liên kết rút gọn
    cho URL cụ thể duy nhất với android.
  73. Bạn thực sự có thể tạo ra
    các thuộc tính tùy chỉnh của riêng bạn.
  74. Để ngăn chặn xung đột về tên,
    nơi hai thuộc tính được đặt cùng một tên.
  75. nhưng thực sự có hành vi khác nhau,
    chúng ta luôn luôn thêm tiền tố này ở đây,
  76. android:, để biểu thị rằng
    đây là những thuộc tính android.
  77. Vì vậy, về cơ bản, hãy nhớ
    thêm tên khai báo không gian XML
  78. trong thẻ mở của view gốc
    xem các tập tin XML của bạn.
  79. Bây giờ đến lượt bạn.
  80. Chúng tôi muốn bạn có thể thử nghiệm
    với code layout tuyến tính bây giờ.
  81. Thử thêm nhiều TextViews vậy
    có tiết mục trong cột này..
  82. Bạn sẽ đặt ai trong danh sách
    khách mời độc quyền cho bữa tiệc của bạn?
  83. Cũng hãy thử thay đổi thuộc tính
    định hướng layout tuyến tính.
  84. Hãy nhớ rằng nó có thể được thiết lập
    theo chiều dọc hoặc ngang.