Làm thế nào để bạn thay đổi cài đặt văn bản / phông chữ trong Android TextView
?
Ví dụ, làm thế nào để bạn làm cho văn bản đậm ?
Làm thế nào để bạn thay đổi cài đặt văn bản / phông chữ trong Android TextView
?
Ví dụ, làm thế nào để bạn làm cho văn bản đậm ?
Câu trả lời:
Để làm điều này trong layout.xml
tập tin:
android:textStyle
Ví dụ:
android:textStyle="bold|italic"
Lập trình phương pháp là:
setTypeface(Typeface tf)
Đặt kiểu chữ và kiểu mà văn bản sẽ được hiển thị. Lưu ý rằng không phải tất cả các Typeface
gia đình thực sự có các biến thể in đậm và in nghiêng, vì vậy bạn có thể cần phải sử dụng setTypeface(Typeface, int)
để có được diện mạo mà bạn thực sự muốn.
Đây là giải pháp
TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);
Đơn giản là bạn có thể làm như sau:
Đặt thuộc tính trong XML
android:textStyle="bold"
Lập trình phương pháp là:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
Hy vọng điều này sẽ giúp bạn cảm ơn bạn.
Trong XML
android:textStyle="bold" //only bold
android:textStyle="italic" //only italic
android:textStyle="bold|italic" //bold & italic
Bạn chỉ có thể sử dụng phông chữ cụ thể sans
, serif
và monospace
qua xml, mã Java có thể sử dụng phông chữ tùy chỉnh
android:typeface="monospace" // or sans or serif
Lập trình (mã Java)
TextView textView = (TextView) findViewById(R.id.TextView1);
textView.setTypeface(Typeface.SANS_SERIF); //only font style
textView.setTypeface(null,Typeface.BOLD); //only text style(only bold)
textView.setTypeface(null,Typeface.BOLD_ITALIC); //only text style(bold & italic)
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD);
//font style & text style(only bold)
textView.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD_ITALIC);
//font style & text style(bold & italic)
Trong thế giới lý tưởng, bạn sẽ đặt thuộc tính kiểu văn bản trong bố cục định nghĩa XML như thế:
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"/>
Có một cách đơn giản để đạt được kết quả tương tự một cách linh hoạt trong mã của bạn bằng cách sử dụng setTypeface
phương thức. Bạn cần phải vượt qua và đối tượng của lớp Kiểu chữ , sẽ mô tả kiểu phông chữ cho TextView đó. Vì vậy, để đạt được kết quả tương tự như với định nghĩa XML ở trên, bạn có thể làm như sau:
TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);
Dòng đầu tiên sẽ tạo kiểu đối tượng được xác định trước kiểu (trong trường hợp này là typeface.BOLD , nhưng có nhiều định nghĩa trước hơn). Khi chúng ta có một thể hiện của kiểu chữ, chúng ta có thể đặt nó trên TextView. Và đó là nội dung của chúng tôi sẽ được hiển thị theo phong cách chúng tôi đã xác định.
Tôi hy vọng nó sẽ giúp bạn rất nhiều. Để biết thêm thông tin bạn có thể truy cập
http://developer.android.com/reference/android/graphics/Typeface.html
Từ XML, bạn có thể đặt textStyle thành đậm như bên dưới
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bold text"
android:textStyle="bold"/>
Từ lập trình, bạn có thể đặt TextView thành đậm như bên dưới
textview.setTypeface(Typeface.DEFAULT_BOLD);
Xác định một kiểu mới với định dạng bạn muốn trong tệp style.xml trong thư mục giá trị
<style name="TextViewStyle" parent="AppBaseTheme">
<item name="android:textStyle">bold</item>
<item name="android:typeface">monospace</item>
<item name="android:textSize">16sp</item>
<item name="android:textColor">#5EADED</item>
</style>
Sau đó áp dụng kiểu này cho TextView bằng cách viết đoạn mã sau với các thuộc tính của TextView
style="@style/TextViewStyle"
Cách tốt nhất để đi là:
TextView tv = findViewById(R.id.textView);
tv.setTypeface(Typeface.DEFAULT_BOLD);
Giả sử bạn là người mới bắt đầu trên Android Studio, Đơn giản là bạn có thể hoàn thành nó trong chế độ xem thiết kế XML bằng cách sử dụng
android:textStyle="bold" //to make text bold
android:textStyle="italic" //to make text italic
android:textStyle="bold|italic" //to make text bold & italic
trong tệp .xml , đặt
android:textStyle="bold"
sẽ đặt loại văn bản được in đậm.
Bạn có thể sử dụng điều này cho phông chữ
tạo một typefaceTextView tên lớp và mở rộng TextView
Bản đồ tĩnh riêng mTypefaces;
public TypefaceTextView(final Context context) {
this(context, null);
}
public TypefaceTextView(final Context context, final AttributeSet attrs) {
this(context, attrs, 0);
}
public TypefaceTextView(final Context context, final AttributeSet attrs, final int defStyle) {
super(context, attrs, defStyle);
if (mTypefaces == null) {
mTypefaces = new HashMap<String, Typeface>();
}
if (this.isInEditMode()) {
return;
}
final TypedArray array = context.obtainStyledAttributes(attrs, styleable.TypefaceTextView);
if (array != null) {
final String typefaceAssetPath = array.getString(
R.styleable.TypefaceTextView_customTypeface);
if (typefaceAssetPath != null) {
Typeface typeface = null;
if (mTypefaces.containsKey(typefaceAssetPath)) {
typeface = mTypefaces.get(typefaceAssetPath);
} else {
AssetManager assets = context.getAssets();
typeface = Typeface.createFromAsset(assets, typefaceAssetPath);
mTypefaces.put(typefaceAssetPath, typeface);
}
setTypeface(typeface);
}
array.recycle();
}
}
dán phông chữ vào thư mục phông chữ được tạo trong thư mục tài sản
<packagename.TypefaceTextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.5"
android:gravity="center"
android:text="TRENDING TURFS"
android:textColor="#000"
android:textSize="20sp"
app:customTypeface="fonts/pompiere.ttf" />**here pompiere.ttf is the font name**
Đặt các dòng trong bố trí cha mẹ trong xml
xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"
4 cách để in đậm Android TextView - Câu trả lời đầy đủ có tại đây.
Sử dụng thuộc tính android: textStyle
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TEXTVIEW 1"
android:textStyle="bold"
/>
Sử dụng in đậm | in nghiêng cho đậm và nghiêng.
sử dụng phương thức setTypeface ()
textview2.setTypeface(null, Typeface.BOLD);
textview2.setText("TEXTVIEW 2");
Phương thức HtmlCompat.fromHtml (), Html.fromHtml () không được dùng trong API cấp 24.
String html="This is <b>TEXTVIEW 3</b>";
textview3.setText(HtmlCompat.fromHtml(html,Typeface.BOLD));
Trong trường hợp của tôi, việc chuyển giá trị qua chuỗi XML đã hoạt động với Thẻ html ..
<string name="your_string_tag"> <b> your_text </b></string>
editText.setTypeface(Typeface.createFromAsset(getAssets(), ttfFilePath));
etitText.setTypeface(et.getTypeface(), Typeface.BOLD);
sẽ đặt cả kiểu chữ cũng như kiểu thành chữ đậm.