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

Lập trình giao diện với 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 (735.75 KB, 23 trang )

• Author:
• Email:

Lập trình giao diện với Android
Mục tiêu
• Làm quen với các thành phần trong giao
diện Android.
• Hiểu về XML layout.
• Biết cách xử lý các sự kiện xảy ra trong
giao diện Android.
Activities và Tasks
• Activity
– Dùng để hiển thị một màn hình.
– Thừa kế từ lớp android.app.Activity
– Các activity có những phương thức để bắt sự kiện
sau (@Override):
• onCreate: activity “Lúc khởi tạo"
• onDestroy: activity “Lúc huỷ"
• onStart/onResume/onPause/onStop/onRestart flow
Activities và Tasks
• Task
– Là một tiến trình được sử dụng thông qua Activity.
• Thường bắt đầu từ Home screen.
– Một task mới tạo ra một stack mới của activity
• Nút “back” sẽ gỡ bỏ task cao nhất và huỷ activity đó.
– Các task được phân biệt với nhau
• Task mới sẽ tạo một stack mới.
– Task có thể cross applications và processes

Các dạng của view
• View và ViewGroups


– View là lớp cơ sở của “widgets”
– ViewGroup lớp cơ sở của Composite-patterned
chứa các đối tượng khác của View.
– Mỗi Activity có thể giữ một nội dung view.
• Thông thường đây là một ViewGroup tạo thành một hệ
thống phân cấp.
– Có thể tuỳ chỉnh View và ViewGroups
Các dạng của view
• Widgets (android.widget)
Các dạng của view
• Widgets (android.widget)
– “Dạng push": Button, CompoundButton, CheckBox,
ImageButton, RadioButton
– Dạng Text: EditText, TextView, NumberPicker, TextSwitcher
– Graphics: Gallery, ImageSwitcher, ImageView
– Selectors: RatingBar, SeekBar, Spinner, Switch
– Time: AnalogClock, DigitalClock, Chronometer,
CalendarView, DatePicker, TimePicker
– Composite: ListView, SlidingDrawer, TabHost
– Media: MediaController
– Space (tạo khoảng trống giữa các thành phần)

Các dạng của view
• Layouts(android.widget)
– LinearLayout: Sắp xếp theo hàng ngang/dọc
– RelativeLayout: Căn chỉnh giữa các view
– TableLayout: Sắp xếp theo bảng
– GridLayout: Sắp xếp theo lưới
– AbsoluteLayout: Sắp xếp theo toạ độ
– FrameLayout: Căn chỉnh dựa trên toạ độ

gốc(top-left)
Các dạng của view
• Dialogs (android.app)

Các dạng của view
• Dialogs (android.app)
(là trường hợp đặc biệt của Activity)
– AlertDialog (OK/Cancel/Help, v.v)
– ProgressDialog (56 of 100 )
– DatePickerDialog
– TimePickerDialog
• Được tạo ra & hiển thị như một phần của
Activity, Dialog không phải là activity
Tạo giao diện trên Android
Có 2 cách để tạo giao diện trên Android
• Sử dụng bộ công cụ tạo bằng tay trên java.
• Sử dụng file layout XML-based
– File layout XML không được gắn với Activity
– Nó chỉ là một nhóm các View đặt trong 1 file XML
– Để hiển thị XML dưới dạng giao diện ta gọi
Activity.setContentView()
XML
Layout Resources
• Layout Resources nằm ở thư mục res/layout
– Tên file XML tương ứng với R.layout.{tên-file}
– Phần tử gốc thường là ViewGroup (Layout class)
– android: namespace là bắt buộc
– Ký tự @ trong thuộc tính có ý nghĩa tham chiếu
đến các resource đã khai báo
• @drawable/ Tham chiếu đến các file hình

• @android:id/ Tham chiếu đến một id
• @+id/id_name: Khai báo id của View/ViewGroup
Layout Resources
• Layout Resources có thể tuỳ chỉnh
– Các resource, layout có thể thay đổi cách bố trí để
phù hợp với kiểu màn hình, thiết bị khác nhau
• screen size: "small", "normal", "large", "xlarge"
• orientation: "port", "land"
• pixel density: "ldpi", "mdpi", "hdpi", "xhdpi",
• platform version: "v3", "v4", "v7",
– Mặc định app sẽ ở layout dọc(portrait)
– Layout ngang(landscape ) nằm ở /res/layout-land/
Style
• Style là một bộ các attribute/value được khai
báo sẵn để áp dụng cho view.
• Thuộc tính kế thừa của style:
parent=“android:style/ ”
Theme
• Theme là một style mà áp dụng cho toàn bộ
activity (hay application)
• Thêm thuộc tính android:theme vào activity
trong manifes
• Toàn bộ giá trị khai báo trong theme sẽ ghi đè
lên giá trị manual của các view trong activity
Menu
• Activity có thể liên kết với mục trong menubar
– Menu thường được khai báo trong
layout(res/menu)
• menu: khai báo 1 menu (chứa các mục)
• item: khai báo một mục nằm trong menu

• group: gom nhóm các mục

Menu
• Ví dụ về menu
<menu
xmlns:android=" />/android">
<item android:id="@+id/new_game"
android:icon="@drawable/ic_new_game"
android:title="@string/new_game" />
<item android:id="@+id/help"
android:icon="@drawable/ic_help"
android:title="@string/help" />
</menu>

ActionBar
ActionBar (3.0+)
• là một tập hợp menus/menuItems nằm phía
trên cùng.
• Chỉ thích hợp cho thiết bị màn hình lớn


• Thư viện tự động tạo action bar:

Xử lý sự kiện
• Hầu hết Views/ViewGroups đều cung cấp hàm
xử lý sự kiện
• Nó được gọi là “InputEvents”:
– View.OnClickListeners: có thể khai báo trong XML
layout
– Phần lớn các sự kiện được khai báo tại onCreate()


Intent
• Để di chuyển qua lại giữa các Activity thì cần
phải thông qua một Intent
Intent next = new Intent(this, NextActivity.class);
startActivity(next);
• Intent cũng dùng để chuyển dữ liệu qua lại
giữa các activity.
Tương tác với người dùng
Video hướng dẫn
• Android Design in Action YouTube Playlist:
/>J2EKKc8j2B95zGMb8muZvrIy-wcF
• Google I/O 2013 - Android Design:
/>rJ2EKKc-qVhMuAprIFYFbCotdgJKq
Tài liệu tham khảo
• Android website

• Busy Coder’s Guide to Android
Mark Murphy,

×