Tìm hiểu về android - timepicker

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Tìm hiểu về android - timepicker

Bài gửi by t11nguyen on 3/7/2017, 15:08

Trong phần này chúng ta sẽ Đánh giá về Picker. Picker là lớp View cho phép chúng ta chọn 1 giá trị nào chậm tiến độ trong 1 tập các giá trị cho trước, có 2 cái giá trị là số và giờ/ngày tháng.

NumberPicker
NumberPicker cho phép chúng ta chọn 1 giá trị số trong 1 tập giá trị cho trước.
Đánh giá về bài https://vietpro.net.vn/lap-trinh-android
main.xml


android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">


android:layout_width="wrap_content"
android:text="0" android:textSize="30sp" />

Trong file layout chúng ta khai báo thẻ NumberPicker và thẻ TextView, TextView sẽ hiển thị giá trị đang được chọn trong NumberPicker.

MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.widget.NumberPicker;
import android.widget.TextView;
import android.widget.NumberPicker.OnValueChangeListener;

public class MainActivity extends Activity

private TextView tv;

@Override
public void onCreate(Bundle savedInstanceState)

super.onCreate(savedInstanceState);
setContentView(R.layout.main);




NumberPicker np = (NumberPicker) findViewById(R.id.npId);

np.setOnValueChangedListener(new OnValueChangeListener()


int newVal)

tv.setText(String.valueOf(newVal));

);

np.setMaxValue(100);
np.setMinValue(0);


NumberPicker hiển thị giá trị và 2 nút cộng trừ để nâng cao giảm giá trị.


np.setOnValueChangedListener(new OnValueChangeListener()

public void onValueChange(NumberPicker picker, int oldVal,
int newVal)

tv.setText(String.valueOf(newVal));

);
khi chúng ta click vào 2 nút cộng trừ thì NumberPicker sẽ giải phóng sự kiện, chúng ta bắt sự kiện này bằng lớp OnValueChangeListener. Ở đoạn code trên chúng ta gắn 1 đối tượng listener vào picker và dùng phương thức onValueChange(), phương thức này sẽ được gọi khi chúng ta click vào 2 nút cộng trừ, tham số của phương thức này là đối tượng picker đã giải phóng sự kiện, giá trị mới sau khi click nút cộng/trừ và giá trị cũ trước khi click nút cộng/trừ.

1
np.setMaxValue(100);
np.setMinValue(0);
2 cái code trên thiết lập khoảng giá trị cho NumberPicker là trong khoảng 0 đến 100.

- Bài tập này bạn sẽ được học về Time Selection. 1 số bài tập trước chậm tiến độ Tôi cũng đã dùng nó rồi, nhưng trong bài tập này Tôi muốn giải thích nó rõ ràng hơn.

- có đa dạng cái Time Selection: AnalogClock, Chronometor, DatePickerDialog, TimePickerDialog. Nhưng Tôi chỉ giới thiệu 2 control cuối mà thôi, các control khác Anh chị tự Đánh giá thêm trên mạng:

Mới học lập trình, Anh chị cần Đánh giá về https://vietpro.net.vn/hoc-html-va-css


- Hình bên trái là DatePickerDialog (dùng để thiết lập ngày tháng năm), hình bên phải là TimePickerDialog( dùng để thiết lập giờ phút).

- Theo Tôi thì chúng ta không nên kéo thả các control này ra màn hình vì nó chiếm hết không gian của các control khác, có lại màn hình điện thoại quá nhỏ nên nó sẽ không đáp ứng tí nào khi bạn cố tình kéo thả nó ra. bởi thế Tôi khuyên bạn nên viết code động, cho 1 Button để người dùng chọn ngày tháng hay giờ giấc, khi nhấn vào nó thì mới hiển thị các dialog tương ứng này lên.

- Tôi sẽ có 1 thí dụ cụ thể để thực hành về 2 control này, bạn hãy chú ý theo dõi và thực hành lại thật phải chăng.

Yêu cầu áp dụng như sau:

- Viết chương trình điều hành chỉ tiêu hoàn tất công tác hàng tuần: Lý do chúng ta khiến việc không có quy củ, không nhất quán, gặp đâu khiến chậm tiến độ, đang khiến việc này thấy việc kia sảy ra lại dancing qua việc chậm tiến độ khiến để dở công tác cũ chưa xong, không theo quy trình định sẵn dẫn đến chấm dứt 1 ngày mà chung cục không hoàn tất được việc gì cả.

- bề ngoài giao diện như hình bên dưới và thực hành 1 số chức năng:





  1. Khi chọn nút Date sẽ hiển thị DatePickerDialog – cập nhật Ngày hoàn tất
  2. Khi chọn nút Time sẽ hiển thị TimePickerDialog – cập nhật giờ hoàn tất
  3. Khi chọn nút Thêm công tác (Thêm CV), chương trình sẽ cập nhập vào ListView bên dưới màn hình
  4. Khi nhấn vào phần tử nào thì hiển thị chi tiết Nội Dung công tác phải hoàn tất
  5. Khi nhấn thật lâu vào phần tử nào trên ListView thì xóa phần tử (công việc) chậm tiến độ.

- Bài tập này Tôi đưa ra là tiền đề để khiến phần Android Service cụ thể là Alarm Manager (Khi nào đến phần chậm tiến độ Tôi sẽ đề cập lại bài này). Bạn cứ hình dong phần mềm này nó giống như chương trình báo thức chậm tiến độ bạn. đến giờ là nó Beeng ! Beeng! la làng lên để đề cập nhở Anh chị. Nhưng bây giờ bạn hãy quên điều chậm tiến độ đi vì chúng ta cần phải đi trong khoảng từ và phải hiểu thật thấu đáo các thành phần căn bản trước đã, giờ bạn chỉ cần thao tác được 5 bắt buộc của Tôi nêu bên trên là đã đạt rồi.

TimePicker
TimePicker thì hiển thị giá trị giờ, TimePicker có 2 chế độ hiển thị là hiển thị theo dạng 24h hoặc dùng kí hiệu AM/PM. bên cạnh đó còn có lớp DatePicker là chọn ngày tháng.

main.xml




android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >




android:layout_marginLeft="5dp"
android:textSize="30sp" />


Trong file main.xml chúng ta bề ngoài 1 TimePicker và 1 TextView để hiển thị giá trị của TimePicker chậm tiến độ.

MainActivity.java





import android.app.Activity;
import android.os.Bundle;
import android.widget.TimePicker;
import android.widget.TextView;
import android.widget.TimePicker.OnTimeChangedListener;

public class MainActivity extends Activity

Lớp TimePicker lắng nghe sự kiện bằng lớp OnTimeChangedListener có phương thức onTimeChanged().


tp.setOnTimeChangedListener(new OnTimeChangedListener()

public void onTimeChanged(TimePicker view, int hour,
int minute)

StringBuilder tm = new StringBuilder();
tm.append(hour + " h " + minute + " m ");
tv.setText(tm);

);
Bên trong phương thức onTimeChanged() chúng ta tạo 1 chuỗi trong khoảng giá trị giờ và phút được gửi đến, sau chậm tiến độ gán khiến text cho TextView.

chỉ dẫn về https://vietpro.net.vn/hoc-lap-trinh-web-php-co-ban

bên cạnh đó trước chậm tiến độ chúng ta cũng dùng chính lớp TimePicker này để lấy giờ bây giờ của hệ điều hành và gán vào TextView trước.

t11nguyen
Binh Nhất
Binh Nhất

Tổng số bài gửi : 36
Tuổi : 28
Đăng ký ngày : 22/04/2017
Danh tiếng : 0

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết