TextView in Android
Trong bất cứ một ứng dụng Android nào thì phần hiển thị nội dung bằng chữ luôn luôn có cho dù đó là ứng dụng lớn hay ứng dụng nhỏ. Điều đó cho thấy TextView trong ứng dụng Android là không thể thiếu.
Eng Sub:
Thuật ngữ trong chuyên môn người ta thường gọi là TextView widget, để chỉ TextView là một widget view trong Android. Với bài viết này chúng tôi hy vọng sẽ mang lại cho bạn những góc nhìn chi tiết về widget này. Bên cạnh đó, chúng tôi cũng chỉ ra cho bạn những trường hợp ít dùng và các trường hợp tùy chỉnh, vận dụng những tính chất được cung cấp, được hổ trợ bởi Android.
Eng Sub:
1/ Tạo TextView trong file layout
Create a TextView in layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, TextView Android" />
</LinearLayout>
Bạn có thể copy và dán đoạn code trên vào file layout của mình. Đoạn code ở trên chính là định nghĩa TextView widget trong Android.
Eng Sub:
2/ Thiết lập các thuộc tính cho TextView widget
Attribute setting
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/txt_text_view_example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, TextView Android"
android:textStyle="bold"
android:textColor="@color/black"
android:textAllCaps="true"
android:textAlignment="center"
android:letterSpacing="0.3"
android:background="#ff8455"
android:drawableLeft="@mipmap/ic_launcher"
android:drawableRight="@mipmap/ic_launcher"
android:gravity="center"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp" />
</LinearLayout>
Đoạn code trên, TextView đã được thêm vào các thuộc tính, hay nói cách khác là bật các thuộc tính, hoặc cũng có thể gọi là gán giá trị cho cho các thuộc tính bạn muốn sử dụng.
Eng Sub:
Nói về thuộc tính của TextView widget thì có rất nhiều, đoạn code trên chúng tôi chỉ đưa ra những thuộc tính cơ bản và dùng nhiều với góc nhìn của chúng tôi. Để nắm và hiểu rõ một cách đầy đủ nhất về thuộc tính của TextView, bạn vui lòng truy cập trang sau:
Preferent url: TextView Attribute
Eng Sub:
android:id : Trong Android, mỗi view widget sẽ có một id trong layout thiết kế của bạn. Bạn có thể đặt id hoặc không. Trong trường hợp bạn muốn điều khiển view widget thực hiện một hành động nào đó như hiển thị dữ liệu, bắt sự kiện click của end user .v.v... thì nên đặt cho nó một id.
android:layout_width : Chiều dài của TextView. Có 3 loại giá trị, wrap_content là co dãng chiều dài theo nội dung trong hiển thị trong Textview. match_parent là chiều dài theo kích thước của màn hình điện thoại. Và loại giá trị còn lại là kích thước gán cứng theo ý của bạn, theo mockup hoặc bản thiết kế, đơn vị có thể là dp, pt, hoặc px. Ví dụ: 14dp, 14pt, 14px.
android:layout_height : Chiều cao của TextView.
android:text : Nội dung của dữ liệu bạn muốn TextView hiển thị. Ví dụ: "Hello, TextView Android".
android:textStyle : Thuộc tính này quy định kiểu của chữ được TextView hiển thị. Ví dụ: bold - chữ in đậm, italic - chữ in nghiêng.
android:textColor : Màu sắc của chữ.
android:textAllCaps : Viết hoa tất cả các ký tự hiển thị trong TextView. Ví dụ: "Hello" sẽ chuyển thành "HELLO".
android:textAlignment : Canh lề nội dung hiển thị trong TextView như: canh trái, canh phải hoặc canh giữa.
android:letterSpacing : Khoảng cách giữa các ký tự của chuỗi được hiển thị trong TextView.
android:background : màu nền của TextView.
android:drawableLeft : Hiển thị một hình ảnh, hoặc icon phía bên trái của TextView. Cách dùng này có điểm yếu là bạn hầu như rất khó để hiển thị hình ảnh có nguồn từ internet. Về vấn đề này chúng tôi sẽ trình bày rõ hơn trong bài RecyclerView.
android:drawableRight : Hiển thị một hình ảnh hoặc icon phía bên phải của TextView.
android:gravity : Đây cũng là thuộc tính chung cho các widget trong Android. Thuộc tính này có độ ưu tiên cao nhất. Công dụng là canh lề nội dung hiển thị như: trái, phải hay ở giữa, phía trên hoặc phía dưới.
android:paddingLeft : Đưa nội dung hiển thị trong TextView thụt vào một khoảng cách chỉ định từ bên trái.
android:paddingRight : Đưa nội dung hiển thị trong TextView thụt vào một khoảng cách chỉ định từ bên phải.
android:paddingBottom : Đưa nội dung hiển thị trong TextView đẩy lên trên một khoảng cách chỉ định từ bên dưới.
android:paddingTop : Đưa nội dung hiển thị trong TextView đẩy xuống dưới một khoảng cách chỉ định từ bên trên.
android:layout_marginTop : Đưa TextView từ trên xuống dưới một khoảng cách chỉ định, chính là quy định khoảng cách của TextView với widget ở phía trên (khoảng cách phía trên của TextView).
android:layout_marginBottom : Đưa TextView từ dưới lên một khoảng cách chỉ định. Đẩy widget phía dưới so với TextView một khoảng cách chỉ định.
android:layout_marginRight : Đẩy TextView sang bên trái một khoảng cách chỉ định.
android:layout_marginLeft : Đẩy TextView sang bên phải một khoảng cách chỉ định.
Hình ảnh trên là kết của của layout mà chúng tôi đặt các thuộc tính.
Eng Sub:
3/ Sử dụng TextView trong code
Using TextView in code
package com.tnv.textviewexample;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView txtTextViewExample;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initial view widget
txtTextViewExample = findViewById(R.id.txt_text_view_example);
txtTextViewExample.setText("Hello, TextView in Android");
}
}
Đoạn code trên demo cho bạn cách cơ bản để sử dụng TextView, thực tế cách dùng TextView trong các dự án thì bạn nên tham khảo đoạn code dưới đây. Đoạn code dưới đây chỉ là góc nhìn cá nhân từ nhóm của chúng tôi. Vì khi bạn đạt đến một ngưỡng trình độ am hiểu đủ rõ ràng về lập trình Android bạn sẽ có cách sử dụng cho riêng mình. Trong bài viết này chúng tôi hướng nội dung cho những người mới bắt đầu với Android, còn nhiều thứ họ rất bỡ ngỡ. Chính vì vậy sẽ có phần nhàm chán với người đã có kiến thức cứng và chuyên sâu.
Eng Sub:
package com.tnv.textviewexample;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView txtTextViewExample;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initial view widget
initialWidget();
// show content text on TextView
loadDataOnView();
}
private void initialWidget(){
txtTextViewExample = findViewById(R.id.txt_text_view_example);
}
private String todoSomeThing(){
String result = "This is demo for TextView in Android";
return result;
}
private void loadDataOnView(){
txtTextViewExample.setText(todoSomeThing());
}
}