Android

Các View cơ bản trong Android

Giới thiệu

Những dòng chữ hiển thị trên thiết bị Android (TextView), cho đến những khung nhập liệu (EditText), những hình ảnh (ImageView), danh sách có thể cuộn lên, cuộn xuống (ListView, GridViewRecycleView) hay những cái button (Button) các bạn thể click… đều là những View trong android, những view này đều có một chức năng riêng. Trong bài viết này tôi sẽ cùng các bạn tìm hiểu một số view cơ bản trong android cũng như một số thuộc tính của nó để giúp các bạn có thể thiết kế những giao diện đơn giản khi mới lập trình di động với nền tảng này.

Căn bản về View

Những gì chúng ta nhìn thấy trên màn hình thiết bị android được gọi là View (trong window thường được gọi là control). View được vẽ trên thiết bị android với một hình chữ nhật.

Các view cơ bản và thường xuyên sử dụng trong android đó là:

  • TextView
  • EditText
  • ImageView
  • Button
  • CheckBox
  • RadioButton

Class View là class đại diện cho tất các các view khác,  các view ở trên đều được kế thừa từ class View.

Các bạn có thể tìm hiểu chi tiết về class view ở ĐÂY.

Để tạo view trong android chúng ta có hai cách như sau:

Cách 1: Tạo bằng mã nguồn xml.

Ví dụ

Cách 2: Tạo bằng mã nguồn java.

Các thuộc tính của view

layout_height

Thuộc tính này quy định chiều cao của view đó và thường có các giá trị như sau:

  • match_parent: chiều cao của view sẽ bằng đúng chiều cao của phần tử cha chứa nó.
  • wrap_content: chiều cao của view phụ thuộc vào content của view.
  • giá trị xác định: xác định chiều cao của view theo một đơn vị nào đó (dp, px, in, mm, sp…)

layout_width

  • match_width: chiều rộng của view sẽ bằng đúng chiều rộng của phần tử cha chứa nó.
  • wrap_content: chiều rộng của view phụ thuộc vào content của view.
  • giá trị xác định: xác định chiều rộng của view theo một đơn vị nào đó (dp, px, in, mm, sp…)

id

Thuộc tính này xác định id của view, được khai báo ở file định nghĩa giao diện xml và sử dụng lại trong code java để ánh xạ đối tượng.

Trong file xml

Và ánh xạ đối tượng TextView trong xml thông qua id trong java

Phương thức findViewById sẽ return về View cho nên chúng ta cần ép kiểu về kiểu chúng ta mong muốn, ở đây là TextView.

background

Thuộc tính này xác định màu nền của view.

margin và padding

Hai thuộc tính margin và padding khá là quen thuộc với tất cả các bạn lập trình web, trong android hai thuộc tính này cũng như lập trình web và rất dễ nhầm lẫn.

Margin là khoảng từ các cạnh của view hiện tại tới các view khác.

Padding là khoảng cách từ các cạnh của view tới phần content của nó.

Minh họa bằng hình ảnh:

eitguide_view__ss1

Để hiểu rõ các bạn theo dõi phần dưới đây:

View này tôi chưa set margin và padding cho nó

Và kết quả như sau:

eitguide_view__ss2

Tôi thêm thuộc tính marginTop và marginLeft

eitguide_view__ss3

Và cuối cùng là thêm thuộc tính paddingTop và padingBottom

eitguide_view_ss4

Tới đây chắc rằng các bạn không còn nhầm lẫn hay cảm thấy khó khăn với hai thuộc tính này nữa. Tiếp theo chúng ta sẽ cùng nhau tìm hiểu các view trong android đã nêu ở trên.

Các View cơ bản trong android

TextView

TextView là view sử dụng để hiển thị text màn hình. TextView được định nghĩa bởi thẻ <TextView> trong xml.

Tất cả các view được khởi tạo bằng xml BẮT BUỘC phải có hai thuộc tính đó là layout_width và layout_height.

Các thuộc tính:

android:text: Thuộc tính này xác định text (văn bản) sẽ hiển thị lên TextView.

android:textColor: Xác định màu chử của TextView.

android:textSize: Xác định size chử của TextView

android:textStyle: Xác định style chữ TextView, có ba giá trị là normal, bold (in đậm), ilalic (nghiêng).

android:background: Xác định màu nền TextView.

android:drawableLeft: Xác định drawable (với những người mới bắt đầu thì có thể xem như là hình ảnh) nằm bên trái text.

eitguide_view_ss5

Tương tự chúng ta có các thuộc tính android:drawableRight, android:drawableTop, android:drawableBottom nằm bên phải, trên, dưới text.

EditText

EditText là view dùng để lấy giá trị từ người dùng nhập vào. EditText được định nghĩa bởi thẻ <EditText> trong xml.

Hình ảnh EditText trên màn hình android

eitguide_view_ss6

Một số thuộc tính của EditText

android:text: Xác định text hiển thị lên EditText

android:textColor: Xác định màu của text.

android:textSize: Xác định kích thước của text.

android:textStyle: Xác định style của text gồm các giá trị italic (nghiêng), bold (in đậm), normal (kiểu thường).

android:inputType: Xác định phương thức nhập của Edittext, có các giá trị như sau: text, number, textPassword, phone, textUrl…

Để lấy text của EditText trong java chúng ta làm như sau:

Bước 1: Lấy về EditText thông qua id trong file xml

Bước 2: Sử dụng phương thức getText() của EditText để lấy text.

Ví dụ tôi có file xml

Và get text của EditText trong Java

Button

Button là view được sử dụng khá nhiều trong android, hầu như sử dụng ở mọi nơi cùng với EditText, TextView. Button có chức năng là làm nhiệm vụ nào đó khi mà người dùng click trong phương thức onClick.

Ví dụ về Button khai báo trong file xml.

Một số thuộc tính của Button

android:id: Xác định id cho Button

android:text: Xác định văn bản  sẽ hiển thị lên Button

android:textColor: Xác định màu văn bản của Button.

android:background: Xác định màu nền của Button

Để thực hiện những khối lệnh khi chúng ta click vào button, chúng ta làm như sau:

Bước 1: Lấy về đối tượng Buton thông qua id được khai báo button ở file xml

Bước 2: Set bộ lắng nghe sự kiện cho Button thông qua phương thức setOnClickListener và handle các công việc  cần xữ lý trong phương thức onClick

ImageView

ImageView là một view sử dụng rất nhiều trong ứng dụng android, ImageView sử dụng để hiển thị hình ảnh.

Một số thuộc tính phổ biến của ImageView

android:id: Xác định id.

android:src: Xác định source hình ảnh hoắc drawable

android:scaleType: kiểu hiển thị hình ảnh của ImageView, có các giá trị fitCenter, fitStart, fitEnd, center, centerCrop, centerInside, matrix. Những kiểu hiển thị này tôi sẽ giới thiệu chi tiết ở bài viết sau.

Ví dụ khai báo ImageView trong file xml

eitguide_view_ss7

Các bạn thử thay đổi thuộc tính scaleType để thấy rõ sự khác biệt như thế nào nhé.

Để gán hình ảnh động trong java chúng ta sử dụng các phương thức sau:

Nếu Soure là một bitmap

Nếu Soure là một id của image nằm trong thư mục drawable

Nếu Soure là một drawable

Lời kết

Qua bài viết này tôi và các bạn đã cùng tìm hiểm view trong android cũng như những view căn bản, thường dùng trong ứng dụng. Tuy kiến thức này không quá khó những các bạn phải tự làm lại để nắm vững những kiến thức này. Nếu có bất cứ thắc mắc khó khắn nào có thể để lại comment dưới bài viết, tôi sẽ sẵn sàng giải đáp thắc mắc của các bạn.

5 thoughts on “Các View cơ bản trong Android”

  1. Anh cho em hỏi với ạ.
    Ví dụ ta tạo 2 EditText trên cùng 1 hàng ngang, vậy phải làm sao để giữ cho cái khung bao quanh EditText có chiều rộng không đổi cho dù nhập nhiều giá trị vào đó, width luôn bằng 50% ý.

  2. mình có 2 câu hỏi về xml, m.n rep hộ với 😀
    1) trong 1 textview có thể chèn 2 giá trị background khác nhau dc ko vậy ae?
    2) mình có file css.xml chứa cặp tag … và khi muốn add vào 1 view trong main.xml thì mình dùng lệnh android:background=”@drawable/css” . Vậy nếu trong file css.xml mình có 2 cặp tag … khác nhau thì add vào main.xml như nào?

    1. 1) Không. Mỗi View có một background duy nhất. Nếu ý bạn đang nói là về gradient hay layer thì làm trong 1 file XML background.
      2) Mình cho là bạn vẫn chưa hiểu rõ ý bạn muốn gì. Nhưng tạm trả lời là dùng layer-list hoặc clip.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.