كيف تقوم بتغيير النص إلى غامق في Android؟




udacity (12)

اضبط السمة

android:textStyle="bold"

كيف تقوم بتغيير إعدادات النص / الخط في Android TextView ؟ على سبيل المثال ، كيف يمكنك جعل النص عريضًا ؟


بالنسبة للحالة التي تستخدم فيها الخطوط المخصصة ، ولكن ليس لديك خط غامق للخط الذي يمكنك استخدامه:

myTextView.setText(Html.fromHtml("<b>" + myText + "</b>");

ببساطة يمكنك القيام بما يلي:

قم بتعيين السمة في XML

  android:textStyle="bold"

بطريقة منهجية فإن الطريقة هي:

TextView Tv = (TextView) findViewById(R.id.TextView);

Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);

Tv.setTypeface(boldTypeface);

آمل أن يساعدك هذا في شكرك.


في XML

android:textStyle="bold" //only bold
android:textStyle="italic" //only italic
android:textStyle="bold|italic" //bold & italic

يمكنك فقط استخدام خطوط محددة من sans و serif و monospace عبر xml ، ويمكن لـ Java code استخدام الخطوط المخصصة

android:typeface="monospace" // or sans or serif

برمجيا (رمز جافا)

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)

للقيام بذلك في ملف layout.xml :

android:textStyle

أمثلة:

android:textStyle="bold|italic"

برمجيا الطريقة هي:

setTypeface(Typeface tf)

يضبط الحرف والأسلوب الذي يجب أن يتم عرض النص فيه. لاحظ أنه ليس لدى كل عائلات Typeface الواقع setTypeface(Typeface, int) ، لذلك قد تحتاج إلى استخدام setTypeface(Typeface, int) للحصول على المظهر الذي تريده بالفعل.


انه سهل جدا

setTypeface(Typeface.DEFAULT_BOLD);

في العالم المثالي ، يمكنك تعيين سمة نمط النص في تعريف تنسيق XML مثل ذلك:

<TextView
    android:id="@+id/TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textStyle="bold"/>

توجد طريقة بسيطة لتحقيق نفس النتيجة بشكل حيوي في التعليمات البرمجية الخاصة بك باستخدام أسلوب setTypeface . تحتاج إلى تمرير والطبقة من فئة Typeface ، والتي سوف تصف نمط الخط لهذا TextView. لتحقيق نفس النتيجة كما في تعريف XML أعلاه ، يمكنك القيام بما يلي:

TextView Tv = (TextView) findViewById(R.id.TextView);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
Tv.setTypeface(boldTypeface);

السطر الأول سيقوم بإنشاء نمط معرف لنموذج الكائن (في هذه الحالة ، Typeface.BOLD ، ولكن هناك العديد من أكثر معرفًا مسبقًا). وبمجرد أن نحصل على مثال للخط ، يمكننا ضبطه على TextView. وهذا هو سيتم عرض المحتوى لدينا على النمط الذي حددناه.

آمل أن يساعدك كثيرا. للحصول على معلومات أفضل يمكنك زيارة

http://developer.android.com/reference/android/graphics/Typeface.html


إذا افترضنا أنك منشئ جديد على Android Studio ، فيمكنك ببساطة تنفيذ ذلك في طريقة عرض XML للتصميم باستخدام

android:textStyle="bold"          //to make text bold
android:textStyle="italic"        //to make text italic
android:textStyle="bold|italic"   //to make text bold & italic

يمكنك استخدام هذا للخط

إنشاء اسم فئة TypefaceTextView وتوسيع TextView

خاص ثابت خريطة 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();
    }
}

الصق الخط في مجلد الخطوط الذي تم إنشاؤه في مجلد الأصول

<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**

ضع الأسطر في التنسيق الأصل في xml

 xmlns:app="http://schemas.android.com/apk/res/com.mediasters.wheresmyturf"
xmlns:custom="http://schemas.android.com/apk/res-auto"

في حالتي ، تم تمرير القيمة عبر string.xml باستخدام علامة html.

<string name="your_string_tag"> <b> your_text </b></string>


هنا الحل

TextView questionValue = (TextView) findViewById(R.layout.TextView01);
questionValue.setTypeface(null, Typeface.BOLD);

حدد نمطًا جديدًا بالتنسيق الذي تريده في ملف style.xml في مجلد القيم

<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>

ثم تطبيق هذا النمط على TextView بكتابة التعليمة البرمجية التالية مع خصائص TextView

style="@style/TextViewStyle"




android-textview