- TextView, EditText, Button là 3 control cơ bản nhất của Android. Trong các ví dụ trước bạn đã được làm quen với 3 control này. Trang các ví dụ này chúng ta sẽ cũng cố lại các kiến thức đã học và bổ sung thêm các thuộc tính mới.
- Chỉ cho phép hiển thị thông tin mà không cho phép người dùng chỉnh sửa thì nên sử dụng control này.
- TextView giống như JLabel bên Java, và như Label bên C#
- Một số thuộc tính của TextView mà chúng ta thường xuyên sử dụng nhất:
Hình 1
- Ta nên thiết lập id cho control để quản lý.
- layout_width, layout_height nên thiết lập cho Textview
- Để thay đổi màu nền dùng background, thay đổi màu chữ dùng textColor, …
- Dựa vào Id ta sẽ lấy được control theo đúng Id này, xem code bên dưới để biết cách lấy control theo Id:
TextView txt1= (TextView) findViewById(R.id.textView1);
- Mọi control đều kế thừa từ View, và hàm findViewById cũng trả về 1 View theo đúng Id truyền vào, đó là lý do ta ép kiểu về cho đúng với TextView (cách làm nhanh: ngay dòng lệnh này nhấn tổ hợp phím Ctrl +1 là nó sẽ tự ép kiểu nhanh cho bạn)
- Để hiển thị thông tin lên control TextView ta dùng lệnh dưới đây:
txt1.setText(“ Hello world! ”);
- Đẩy lấy thông tin bên trong control TextView ta dùng lệnh dưới đây:
String msg=txt1.getText().toString();
2) EditText
- Control này kế thừa từ TextView và cho phép chỉnh sửa dữ liệu (dĩ nhiên bạn có thể không cho chỉnh sửa dữ liệu bằng coding hay trong xml)
- Để sử dụng EditText rất đơn giản, bạn chỉ việc kéo thả control này vào giao diện và tiến hành thiết lập một số thuộc tính, hoặc viết code trong file layout:
Hình 2
- Như hình bên trên thì bạn chỉ cần kéo loại EditText mà bạn cần (vùng số 1) rồi thả vào giao diện (vùng số 2)
- Một số thuộc tính của EditText:
Hình 3
- Tương tự như TextView bạn cần thiết lập Id, các layout_width, layout_height
- Thuộc tính hint : để hiển thị thông tin gợi ý trong vùng nhập dữ liệu khi bạn chưa nhập bất kỳ dữ liệu nào vào, chỉ cần có dữ liệu là phần hint sẽ tự động mất đi.
- textSize để thiết lập kích cỡ font chữ cho EditText
- Trong inputType bạn thấy Tôi kết hợp nhiều giá trị lại với nhau bằng cách dùng toán tử “ | ”, tức là EditText này sẽ có đầy đủ các đặc tính ở bên vế phải mà ta truyền vào, ví dụ:
+ textAutoCorrect : Tự động sửa đúng chính tả, giả sử bạn nhập “teh” thì nó sẽ tự động sửa thành “the”
+ …
- Ta cũng có thể dùng cửa sổ Properties để thiết lập thuộc tính cho dễ dàng hơn (click chuột vào EditText muốn đổi thuộc tính):
Hình 4
- Màn hình trên cho phép ta thay đổi thuộc tính của control một cách dễ dàng.
- Tương tự như TextView, ta cũng phải lấy được control thông qua Id, thao tác với dữ liệu bên trong EditText:
+ Lấy control theo Id:
EditText txtbox=(EditText) findViewById(R.id.editText1);
+ Thiết lập giá trị cho EditText
txtBox.setText(“nhập bất cứ cái gì vào đây xem sao”)
+ Lấy dữ liệu bên trong EditText:
String msg=txtBox.getText().toString()
3) Button
- Dùng để thiết lập sự kiện khi người dùng chọn lựa.
- Cũng kế thừa từ TextView
- Có 2 sự kiện mà người sử dụng thường xuyên thao tác:
Hình 5
Ví dụ: Xây dựng ứng dụng tính cộng trừ nhân chia, giao diện như bên dưới (nhấn nút nào thì thực hiện phép toán cho nút đó):
Hình 6
- Bạn xem Layout để dễ thiết kế:
Hình 7
- Coding mẫu:
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
Button btncong,btntru,btnnhan,btnchia;
EditText editsoa,editsob;
TextView txtkq;
OnClickListener myclick=new OnClickListener() {
@Override
public void onClick(View arg0) {
switch(arg0.getId())
{
case R.id.btncong:
String sa=editsoa.getText()+"";
String sb=editsob.getText().toString();
int a=Integer.parseInt(sa);
int b=Integer.parseInt(sb);
txtkq.setText(a+ "+" +b + "= " +(a+b));
break;
case R.id.btntru:
String sa=editsoa.getText()+"";
String sb=editsob.getText().toString();
int a=Integer.parseInt(sa);
int b=Integer.parseInt(sb);
txtkq.setText(a+"-"+b + "="+(a-b));
break;
case R.id.btnnhan:
String sa=editsoa.getText()+"";
String sb=editsob.getText().toString();
int a=Integer.parseInt(sa);
int b=Integer.parseInt(sb);
txtkq.setText(a+"*"+b + "="+(a*b));
break;
case R.id.btnchia:
String sa=editsoa.getText()+"";
String sb=editsob.getText().toString();
int a=Integer.parseInt(sa);
int b=Integer.parseInt(sb);
txtkq.setText(a+"*"+b + "="+(a*b));
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btncong=(Button) findViewById(R.id.btncong);
btntru=(Button) findViewById(R.id.btntru);
btnnhan=(Button) findViewById(R.id.btnnhan);
btnchia=(Button) findViewById(R.id.btnchia);
editsoa=(EditText) findViewById(R.id.editsoa);
editsob=(EditText) findViewById(R.id.editsob);
txtkq=(TextView) findViewById(R.id.txtketqua);
btncong.setOnClickListener(myclick);
btntru.setOnClickListener(myclick);
btnnhan.setOnClickListener(myclick);
btnchia.setOnClickListener(myclick);
}
}
Tham khảo: duythanhcse
-----------------------------------------
Xem thêm bài và ví dụ khác:
Bài 1: Giới thiệu về Android và hướng dẫn cài đặt Android SDK
Bài 1: Giới thiệu về Android và hướng dẫn cài đặt Android SDK
Bài 2: Kiến trúc Android
Bài 7: Các kiểu lập trình sự kiện trong Android
Bài 8:Tìm hiểu về Toast Notification và Alert Dialog
Bài 9:Sử dụng TextView, EditText và Button trong Android
Bài 8:Tìm hiểu về Toast Notification và Alert Dialog
Bài 9:Sử dụng TextView, EditText và Button trong Android
0 nhận xét:
Đăng nhận xét