YouTube

Got a YouTube account?

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

Vietnamese subtitles

← 02-07 Width and Height

Get Embed Code
14 Languages

Showing Revision 5 created 10/12/2015 by Retired user.

  1. Ta đang làm một danh sách khách mời
    cho bữa tiệc.
  2. Có phải là danh sách khách mời
    cho tiệc sinh nhật phải không Catherine?
  3. Đúng vậy.
  4. Tôi hy vọng mình
    có tên trong danh sách này.
  5. Ta sẽ xem xét điều đó sau.
  6. Tôi cảm thấy cơ hội khá nhỏ nhoi.
  7. À tiện nói về nhỏ,
  8. hãy nói về kích thước
    các view trên một màn hình.
  9. Ồ, ta đã sử dụng chiều dài văn bản
    cố định dp, phải không?
  10. Vâng, chiều rộng và chiều dài.
  11. Và ta cũng có thể thiết lập
    gói nội dung bằng các view.
  12. Phải, đó là một cách lạ để các view
  13. bao quanh nội dung.
  14. Nội dung hiển thị rộng hơn,
  15. các view lớn hơn, nội dung hiển thị nhỏ
    các view cũng nhỏ.
  16. Vâng, và thực sự chỉ có một phần ba
    trong số đó giống view gốc.
  17. Có vẻ hơi lạ nhỉ.
  18. Có vẻ giống như một trang web hẹn hò
    dành cho các phụ huynh đơn thân.
  19. Không hẳn vậy.
  20. Giống view gốc có nghĩa là view con đó
    sẽ rộng hoặc dài giống view gốc.
  21. Ồ, tôi hiểu rồi.
  22. Tôi là một view, tôi có mẹ,
    chiều rộng và chiều dài của tôi
  23. sẽ giống như mẹ của tôi.
  24. Được rồi.
    Chính xác, vậy tóm lại là,
  25. các giá trị bạn có thể thiết lập
    cho kích thước của một view là chiều rộng.
  26. dp cố định cho chiều rộng và chiều dài.
  27. Đúng vậy,
    bạn cũng có thể làm wrap_content.
  28. Và kế tiếp chúng tôi
    sẽ thử thực hiện
  29. match_parent.
  30. Dưới đây là một số ví dụ về việc thiết lập
    độ rộng khác nhau của các view con
  31. trong một layout tuyến tính
    ảnh hưởng đến giao diện của người dùng.
  32. Ở ví dụ này, ta thiết lập mỗi view con
    có chiều rộng cố định là 200 dp.
  33. Nếu nội dung bên trong mỗi view
    lớn hơn 200 dp.
  34. thì bạn có nguy cơ phải bỏ bớt
    một số nội dung như thế này.
  35. Trong ví dụ này, ta thiết lập mỗi view con
    với mỗi chiều rộng một wrap_content.
  36. Giờ tất cả nội dung đã được hiển thị,
  37. nhưng chiều rộng của mỗi view khác nhau
    dựa vào nội dung bên trong chúng.
  38. Ở ví dụ này, ta thiết lập chiều rộng
    của mỗi view con giống với view gốc.
  39. Giờ bạn thấy rằng độ rộng của mỗi view con
    đã giống độ rộng view gốc.
  40. Bất kể các nội dung bên trong của nó.
  41. Giờ các giá trị giống nhau này có thể
    áp dụng cho chiều dài của từng view.
  42. Ở ví dụ này, ta thiết lập chiều dài
    của view con này là 200 dp.
  43. Nếu nội dung bên trong
    cao hơn mức đó,
  44. thì bạn có có thể sẽ phải
    cắt bớt một số nội dung.
  45. Ở ví dụ này, ta thiết lập chiều cao
    của view con bao toàn nội dung.
  46. Theo cách này tất cả nội dung
    sẽ được hiển thị trên màn hình
  47. không có gì cần cắt bỏ
    vì kích thước của text view phụ thuộc
  48. vào nội dung bên trong nó.
  49. Ở ví dụ này, chúng tôi thiết lập chiều dài
    của text view con giống view gốc.
  50. Bằng cách đó view con
    có chiều dài giống view gốc,
  51. bất kể nội dung bên trong nó.
  52. Giờ ta hãy mở visualizer XML và
  53. cố gắng giống
    các code của view gốc.
  54. Chúng tôi cung cấp cho bạn một liên kết
    đến XML visualizer với mã khởi động
  55. trong các ghi chú hướng dẫn dưới đây.
  56. Ở trường hợp này, LinearLayout
    là view gốc của layout này
  57. bởi vì nó là giao diện đầu tiên
    và ở ngoài cùng.
  58. Nếu thiết lập match_parent cho chiều rộng
    và chiều dài của view gốc này,
  59. và thiết lập này nó trở thành
    layout chính trong ứng dụng của chúng ta,
  60. thì layout tuyến tính này
    sẽ dài và rộng như màn hình thiết bị.
  61. Tôi có thể chỉ cho bạn thấy
    bằng cách thiết lập nền
  62. cho layout tuyến tính này
    là một màu không trong suốt.
  63. Nếu đặt một màu nền màu xám
    lên layout tuyến tính này
  64. thì bạn có thể thấy màu xám kéo dài
    chiều rộng và chiều dài của thiết bị.
  65. Bây giờ, chuyện gì sẽ xảy ra
    nếu tôi thử thay đổi
  66. chiều rộng hoặc chiều dài của text view
    giống như view gốc?
  67. Để rõ hơn về điểm giới hạn
    của mỗi view,
  68. Tôi sẽ thiết lập một nền
    màu sắc trên mỗi một view.
  69. Bây giờ tôi sẽ thay đổi chiều dài
    của text view này giống với view gốc.
  70. Tiện đây, bạn gõ luôn match_parent.
  71. Và giờ bạn thấy rằng text view này
    có chiều dài giống view gốc.
  72. Thật không may, nó lại đẩy mọi thứ khác
    ra khỏi màn hình,
  73. và ta không muốn điều đó.
  74. Vì vậy, hãy đổi trở lại bao toàn nội dung.
  75. Được rồi.
  76. Hãy thay đổi chiều rộng trùng với view gốc
    và xem nó làm được những gì.
  77. Bây giờ chiều rộng của TextView
    đã giống view gốc,
  78. và cũng giống chiều rộng
    của màn hình điện thoại.
  79. Nếu tôi thay đổi TextViews khác
    thành match_parent
  80. Bạn có thể thấy nó cũng bắt đầu
    có chiều rộng giống view gốc.
  81. Tôi cũng muốn chỉ ra một điều nữa.
  82. Mỗi khi bạn nhìn thấy một thuộc tính
    bắt đầu với đường gạch dưới,
  83. giống như chiều dài hoặc rộng layout,
    chúng là các thông số layout nhóm.
  84. Chúng được nhóm view gốc sử dụng
    để xác định kích thước và vị trí
  85. của các view này.
  86. Trong khi đó, các thuộc tính khác
    như hình nền, cỡ chữ
  87. và kiểu chữ được xử lý bởi các TextView
    bằng cách tự tạo kiểu cho view của nó.
  88. Nhưng những thông số layout nhóm này
    được xử lý bởi các view gốc.
  89. Giờ đến lượt bạn sẽ thử thay đổi
    giá trị chiều rộng và chiều dài khác nhau.
  90. Về các liên kết để đến XML visualizer
    nơi có mã khởi tạo,
  91. bạn hãy xem các ghi chú
    hướng dẫn dưới đây.
  92. Hãy thử thay đổi giá trị chiều rộng
    và chiều dài của mỗi TextView.
  93. Bạn có thể thiết lập giá trị dp cố định,
    wrap_content, hoặc match_parent.
  94. Nhớ rằng với từng view, giá trị chiều rộng
    và dài không nhất thiết phải giống nhau.
  95. Khi bạn thực hiện xong,
    tích vào ô này để tiếp tục.