Tạo viền cho EditText trong Android studio
Trong lập trình ứng dụng một widget không thể thiếu đó là Text box, trong android gọi là EditText. EditText sử dụng cho phép người dùng nhập thông tin để ứng dụng xử lý dưới dạng các text box.
Vì EditText kế thừa từ TextView. Do đó, một EditText kế thừa tất cả thuộc tính của TextView Control này kế thừa từ TextView và cho phép chỉnh sửa dữ liệu (dĩ nhiên chúng ta có thể cấm chỉnh sửa dữ liệu bằng coding hay trong xml). Để sử dụng EditText rất đơn giản, chúng ta chỉ việc kéo thả control này vào giao diện và tiếnCác Text Fields trong Eclipse IDE cơ bản là EditText Chúng ta có thể tạo một EditText trong tập tin XML hoặc khởi tạo EditText trong code Java Code EditText trong XML Truy xuất / Lấy giá trị từ EditText Trong Java Class:Dưới đây là mã ví dụ của EditText trong đó chúng tôi lấy ra giá trị từ một EditText trong lớp Java. Chúng tôi đã sử dụng mã này trong ví dụ bạn sẽ tìm thấy ở cuối bài đăng này. EditText txtFirstName= (EditText) findViewById(R.id.edtFirstName); String editTextValue = txtFirstName.getText().toString();Thuộc tính thường dùng của EditTextBây giờ chúng xem một số thuộc tính hay sử dụng trong EditText trong tập tin XML 1. android:id: Là thuộc tính duy nhất của EditText. Xem ví dụ sau: 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: EditText simpleEditText = (EditText) findViewById(R.id.simpleEditText); String editTextValue = simpleEditText.getText().toString();2. android:gravity: Thuộc tính này thường sử dụng để canh nội dung trên EditText: left, right, center, top, bottom, center_vertical, center_horizontal 3. android:text: Thuộc tính này dùng xuất chuỗi văn bản lên EditText, Chúng ta có thể khai báo trong XML hoặc code Java. Gán nội dung cho EditText trong Java class: EditText editText = (EditText)findViewById(R.id.simpleEditText); editText.setText("Username");//set the text in edit text4. android:hint: 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. Gán hint cho EditText trong Java class: EditText editText = (EditText)findViewById(R.id.simpleEditText); editText.setHint("Enter Your Name Here");//display the hint5. android:textColor: Thuộc tính này dùng xác định màu chữ, dạng màu chữ: “#argb”, “#rgb”, “#rrggbb”, hoặc “#aarrggbb”. Vi dụ sau set chữ trong EditText màu đỏ. Set thuộc tính textColor cho EditText trong Java class: EditText simpleEditText=(EditText)findViewById(R.id.simpleEditText); simpleEditText.setTextColor(Color.RED);//set the red text color6. android:textColorHint: là thuộc tính set màu cho hint. EditText android:id="@+id/simpleEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:hint="Enter Your Name Here" android:textColorHint="#0f0"/>Set thuộc tính textColorHint cho EditText trong Java class: 7. android:textSize: Thuộc tính textSize xác định kích thước văn bản của EditText. Chúng ta có thể đ8ạ kích thước văn bản theo sp(scale independent pixel) hoặc dp(density pixel). Trong ví dụ này chúng ta xác định kich thước cho văn bản là 40sp. Set thuộc tính textSize cho EditText trong Java class: EditText simpleEditText=(EditText)findViewById(R.id.simpleEditText); simpleEditText.setTextSize(25);//set size of text7. android:textStyle: Thuộc tính xác định loại văn bản của EditText, thông thường có các loại văn bản:bold, italic và normal. Nếu chúng ta muốn sử nhiều hơn một loại văn bản thì phải thêm phép toán hoặc "|" vào giữa các loại văn bản: 8. android:background: Thuộc tính này xác định màu nền cho EditText. 9. android:padding: Thuộc tính này xác định khoảng cách từ đường viền của EditText với nội dung nó chứa: left, right, top or bottom. Cũng ví dụ trên bây giờ chúng ta xác định padding=10sp từ mọi phía của EditText Set thuộc tính Background cho EditText trong Java class: EditText simpleEditText=(EditText)findViewById(R.id.simpleEditText); simpleEditText.setBackgroundColor(Color.BLACK);//set black background color10. android:inputType: Định dạng kiểu văn bản khi người dùng nhập vào(kiểu mật khẩu, kiểu số, kiểu email, phone, …).Trong ví dụ sau EditText chỉ được nhập số. Chúng ta thêm thuộc tính android:inputType="number" Ví dụ: Trong ví dụ này chúng ta sẽ lấy giá trị từ các EditText, sau đó hiển thị các giá trị này lên TextView thông qua một button được lập trình xử lý sự kiện trong Java Class (Button chúng ta sẽ tìm hiểu ở trang tiếp theo). Tiến hành tạo project, vào thư mục res /layout -> activity_main.xml thiết kế giao diện sau:
Bước 1: Tạo một project tên là TextView: File->New->Android Application Project điền các thông tin ->Next ->Finish Bước 2: Mở res -> layout -> xml (hoặc) activity_main.xml , trong xml này chúng ta thêm nhiều TextView và EditText và một Button có sự kiện onClick trong Table Layout. Chuyển quan XML đổi tên các điều khiển:
Vào thư mục res/values bổ sung string.xml (Chúng ta không khai báo trực tiếp nhãn vào các điều khiển, mà thông qua string.xml) Bước 3: Mở app -> src ->MainActivity.java và thêm code. Khi click vào Button sẽ lấy các giá trị của EditText, sau đó hiển thị lên TextView. package hiepsiit.com.edittext; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; 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 { //Khai báo các widget private Button btnReg; private TextView txtShowMessage; private EditText edtName, edtPassword, edtBirthday, edtEmail; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edtName = (EditText)findViewById(R.id.edtName); edtPassword = (EditText)findViewById(R.id.edtPassword); edtBirthday = (EditText)findViewById(R.id.edtBirthday); edtEmail = (EditText)findViewById(R.id.edtEmail); txtShowMessage= (TextView)findViewById(R.id.txtShowMessage); btnReg = (Button)findViewById(R.id.btnReg); btnReg.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String str="Thông tin tài khoản \n"; str+="Tài Khoản:"+edtName.getText().toString()+"\n Mật khẩu:"+edtPassword.getText().toString(); str+="\nNgày sinh: "+edtBirthday.getText().toString()+"\nEmail:"+edtEmail.getText().toString(); txtShowMessage.setText(str); txtShowMessage.setBackgroundColor(Color.GREEN); } }); } }Download ví dụ Ứng dụng này được phát triển bởi adt bundle, android 4.2 sử dụng minimum sdk 11 and target sdk 21. Kết quả khi chạy ứng dụng: Sau đó điền thông tin và Click vào Button "Đăng Ký": |