Tải bản đầy đủ (.pdf) (30 trang)

Bài 3: Thiết kế giao diện android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.81 MB, 30 trang )

13/09/2021

THIẾT KẾ
GIAO DIỆN
N G U Y Ễ N

C H Í

H I Ế U

1

N g u y ễ n
C h í
H i ế u

2

2


13/09/2021

N g u y ễ n
C h í
H i ế u

Các khái niệm cơ bản
Một số điều khiển phổ biến

NỘI DUNG



Bố cục giao diện
Quy tắc thiết kế giao diện
2 0 2 1

3

2021

4

3

N g u y ễ n
C h í
H i ế u

CÁC KHÁI NIỆM CƠ BẢN

4


13/09/2021

ĐƠN VỊ ĐO
• inch (Inches), mm (Millimeters)
• Kích thước của màn hình thiết bị.

• pt (Points)
• 1pt=1/72 inch


• px (Pixels): số điểm ảnh.
• Thiết bị có độ phân giải càng cao thì số điểm ảnh nhiều.
• Dùng để đo kích thước ảnh.
N g u y ễ n

C h í

2 0 2 1

H i ế u

5

5

N g u y ễ n
C h í
H i ế u

ĐƠN VỊ ĐO
• dp (Densityi n d e p e n d e n t P i x e ls )
• Đơn vị đo chiều
d à i v ậ t lý ( 1 6 0 d p
= 1 i n ch ) .
• Google thường
dùng đo màn
hình thiết bị.
• Mộ t d p c ó t h ể
chứa 1 hay nhiều

px

N g u y ễ n

6

C h í

H i ế u

2 0 2 1

6


13/09/2021

N g u y ễ n
C h í
H i ế u

ĐƠN VỊ ĐO

• dpi (Dots Per Inch)
• Số điểm trong 1inch (160dp) của màn hình
thiết bị.

N g u y ễ n

C h í


2 0 2 1

H i ế u

7

7

N g u y ễ n
C h í
H i ế u

𝑝𝑥 =

𝑑𝑝 ∗ 𝑑𝑝𝑖
160

• Ví dụ 1. Cho màn hình loại xxhdpi và kích thước 1080 x 1920
px. Cho biết kích thước màn hình theo dp?

ĐƠN VỊ ĐO
N g u y ễ n

8

C h í

H i ế u


2 0 2 1

8


13/09/2021

ĐƠN VỊ ĐO
• sp (Scale-independent
Pixels)
• Mơ tả kích thước font
chữ.

N g u y ễ n

C h í

H i ế u

2 0 2 1

9

2 0 2 1

1 0

9

N g u y ễ n

C h í
H i ế u

CÁC KHÁI NIỆM CƠ
BẢN

N g u y ễ n

10

C h í

H i ế u

• T ấ t c ả g i a o d i ệ n t ro n g
An d r o i d đ ư ợ c x â y d ự n g t ừ
c á c V i e w v à Vi e w G ro u p .


13/09/2021

VIEW/WIDGET
• View là đối tượng được vẽ trên màn hình ứng dụng
và có thể tương tác với người dùng qua các sự kiện:
click, touch, keydown, …
• TextView,
• EditText,
• Button,
• ListView,
•…

N g u y ễ n

C h í

H i ế u

2 0 2 1

1 1

2 0 2 1

1 2

11

VIEW
• Hai cách khai báo view
1. Khai báo tĩnh: viết mã trong *.xml hay kéo thả
trực tiếp.

android:layout_width="match_content"
android:layout_height="wrap_content"
android:text="Hi All!"/>
N g u y ễ n

12

C h í


H i ế u


13/09/2021

VIEW
• Hai cách khai báo view
2. Khai báo động: *.java

TextView textView = new TextView(this);
textView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
textView.setText("Hi All!");
layoutMain.addView(textView);
N g u y ễ n

C h í

H i ế u

2 0 2 1

1 3

13

VIEW
• Properties: chiều rộng, chiều dài, màu sắc, …

• Listeners: xử lý các sự kiện (click, touch, keydown, …) khi
người dùng tương tác với view.
• Focus: chọn một view nổi bật hơn các view khác hay có dấu
nháy chuẩn bị nhập dữ liệu.
• Visibility: hiển thị/ẩn view.
N g u y ễ n

14

C h í

H i ế u

2 0 2 1

1 4


13/09/2021

VIEW
• Property
• Là một cặp khóa-giá trị (key-value).
• Trong *.xml, mỗi thuộc tính bắt đầu bởi namespace
android.

android:layout_width="match_content"
android:layout_height="wrap_content“
android:text_size="20sp"
android:text="Hello World!"

N g u y ễ n

C h í

H i ế u

2 0 2 1

1 5

2 0 2 1

1 6

15

VIEWGROUP
• Tập hợp của các View hay ViewGroup khác.
• Được tổ chức theo cây phân cấp.
• ViewGroup: LinearLayout, RelativeLayout, …

N g u y ễ n

16

C h í

H i ế u



13/09/2021

VIEWGROUP
ViewGroup

View

N g u y ễ n

C h í

H i ế u

ViewGroup

View

View

View

View

2 0 2 1

1 7

17

N g u y ễ n

C h í
H i ế u

MỘT SỐ VIEW PHỔ
BIẾN

2021

18

1 8


13/09/2021

MỘT SỐ VIEW PHỔ BIẾN
• View
• TextView
• EditText
• SearchView
• Button
• Switch/ToogleButton
•…
N g u y ễ n

C h í

H i ế u

2 0 2 1


1 9

2 0 2 1

2 0

19

MỘT SỐ VIEW PHỔ BIẾN

N g u y ễ n

20

C h í

H i ế u


13/09/2021

MỘT SỐ VIEW PHỔ BIẾN

N g u y ễ n

C h í

H i ế u


2 0 2 1

2 1

21

TRUY XUẤT VIEW TỪ MÃ NGUỒN
• Bước 1. Trong *.xml, mỗi View phải khai báo

thuộc tính id để có thể truy xuất từ mã nguồn.
• Bước 2. Trong *.java, gọi phương thức

findViewById() để truy xuất view.

N g u y ễ n

22

C h í

H i ế u

2 0 2 1

2 2


13/09/2021

TRUY XUẤT VIEW TỪ MÃ NGUỒN

<!—activity_main.xml-->

LinearLayout

<LinearLayout ...>
android:id="@+id/textMessage"/>
TextView

×