Hanan Farahdel
6 سال پیش توسط Hanan Farahdel مطرح شد
2 پاسخ

نحوه اضافه کردن فونت به app درحالت expo

با سلام
طی کار و یادگیری react native به مشکلی خوردم در مورد اضافه کردن فونت به برنامه، که بعد از جستجوهایی به نتیجه رسیدم و از اونجا که زکات علم تو نشر اونه،تصمیم گرفتم باهاتون در میون بذارم تا شاید گره از کارتون باز شد.

فونت ها تو مسیر دلخواه تو پروژه کپی کنید.مسیر پیشنهادی assets/fonts
برای اضافه کردن فونت درحالت expo باید از تابع Font.loadAsync استفاده بشه
1- Font رو به import میکنیم


import {Font} from 'expo';
2- تابع لود فونت هارو میسازیم 

```javascript
 _loadFontsAsync = async () => {
    await Font.loadAsync({
      'IRANSansMobile': require('./assets/fonts/IRANSansMobile.ttf'),
    });
    this.setState({ fontsLoaded: true });
  };

3- تابع رو تو رویداد componentWillMount فراخوانی میکنیم.

```javascript
 componentWillMount() {
    this._loadFontsAsync();
  } 

توجه: دقت کنید تا زمان لود شدن کامل فونت جلوی return کردن رو بگیرید تا به ارور نخورید.

```javascript
if(this.state.fontsLoaded){
      return (
        <Login/>
      );
    }
    else{
      return(
        <View>
          <Text>IsLoading...</Text>
        </View>
      );
    }

ثبت پرسش جدید
jalal khaleghi
@papillon.jalal 5 سال پیش مطرح شد
0

سلام دوست عزیز
من از این روشی که گفتین استفاده کردم ولی خطا میده

نمیفهمم مشکل از کجاس
Font.loadAsync
از این تابع خطا میگیره


Faeze
تخصص : برنامه نویس - فرانت کار
@faeze.nikoo70 4 سال پیش مطرح شد
0

سلام من هرچقدر که این کد رو میزنم ارور نصب میده یعنی میگه ecpo install expo-font رو ران کنم که هرچی این کد رو میزنم و برنامه رو از اول ران میکنم با زم همون ارور رو میده


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام