تعریف فونت سفارشی توست Toast اندروید استودیو
آموزش تغییر فونت توست Toast اندروید استودیو
فونت سفارشی توست Toast ، عرض سلام خدمت کاربران گرامی سایت خانه اندروید قصد داریم در این آموزش به شما دوستان نحوه تغییر فونت برای Toast رو آموزش بدیم . برای تغییر فونت توست ما از یک روش خیلی جالب استفاده می کنیم که در ادامه با خانه اندروید همراه باشید تا آموزش رو به پایان برسونیم.لطفا دقت کنید معمولا وقتی اسم فونت میاد پوشه Assets هم اشاره میشه لذا اول پوشه فوق را ایجاد کنید و فونت دلخواه خودتان را داخل این Folder قرار بدید.
حتما بخوانید : بررسی ایمیل معتبر اندروید استودیو
لطفا پروژه جدیدی را در اندروید استودیو ایجاد کنید سپس در بخش Assets فونت دلخواه خودتان را قرار بدید حالا نوبت میرسه به بخش دیزاین برنامه که نیاز داریم یک دکمه قرار بدیم تا با کلیک کردن روی دکمه فوق متن پیام ما نمایش داده بشه . سورس کد قسمت xml و هم چنین همراه با تصویر :
سورس کد قسمت xml :
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.homeandroid.toastfonthomeandroidir.MainActivity"> <Button android:id="@+id/btn_Toast" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="18dp" android:layout_margin="10dp" android:padding="10dp" android:layout_centerVertical="true" android:text="تست مسیج باکس"/> </RelativeLayout>
سورس کد قسمت ایجاد کردن کلاس سازنده برای تغییر فونت دلخواه ما : نام کلاس :font_provider :
سورس کد کلاس :
import android.graphics.Paint; import android.graphics.Typeface; import android.text.TextPaint; import android.text.style.MetricAffectingSpan; /** * Created by homeandroid.ir on 9/1/2017. */ public class font_provider extends MetricAffectingSpan { private Typeface mTypeface; public font_provider(Typeface typeface) { mTypeface = typeface; } @Override public void updateMeasureState(TextPaint p) { p.setTypeface(mTypeface); p.setFlags(p.getFlags() | Paint.SUBPIXEL_TEXT_FLAG); } @Override public void updateDrawState(TextPaint tp) { tp.setTypeface(mTypeface); tp.setFlags(tp.getFlags() | Paint.SUBPIXEL_TEXT_FLAG); } }
سورس کد قسمت Mainactivity همراه با تصویر : نام فونت دلخواه من :
iranian_sans.ttf
سورس کد قسمت جاوا بخش Mainactivity :
import android.graphics.Typeface; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Spannable; import android.text.SpannableString; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button btn_Toast; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_Toast=(Button)findViewById(R.id.btn_Toast); btn_Toast.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Typeface font = Typeface.createFromAsset(getAssets(), "iranian_sans.ttf"); SpannableString efr = new SpannableString("تعریف فونت سفارشی برای Toast"); efr.setSpan(new font_provider(font), 0, efr.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); Toast.makeText(getApplicationContext(), efr, Toast.LENGTH_LONG).show(); } }); } }
نتیجه نهایی پس از مراحل بالا :
منبع آموزش : خانه اندروید
موفق باشین.
قبل از ارسال دیدگاه
بدون دیدگاه