Yanıtlar:
2020 Güncellemesi:
Res klasörü içinde font adlı bir klasör oluşturun ve yazı tipinizi kopyalayın
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/abc_font" />
Programlı kullanım için:
textView.setTypeface(ResourcesCompat.getFont(context, R.font.abc_font))
Dosya> Yeni> Klasör> Varlıklar Klasörü'nü seçin
Tıkla bitir
Varlıkları sağ tıklayın ve fontlar adlı bir klasör oluşturun
Yazı tipi dosyanızı varlıklara > yazı tiplerine yerleştirin
TextView'in yazı tipini değiştirmek için aşağıdaki kodu kullanın
TextView textView = (TextView) findViewById(R.id.textView);
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/yourfont.ttf");
textView.setTypeface(typeface);
Alanda özel yazı tipi ailesi ayarlamanın birçok yolu vardır ve aşağıdaki gibi kullanıyorum.
Yazı tiplerini kaynak olarak eklemek için Android Studio'da aşağıdaki adımları uygulayın:
1) res klasörünü sağ tıklayın ve Yeni> Android kaynak dizinine gidin. Yeni Kaynak Dizini penceresi görünür.
2) Kaynak türü listesinde yazı tipini seçin ve Tamam'ı tıklatın.
Not: Kaynak dizinin adı yazı tipi olmalıdır.
3) Yazı tipi dosyalarınızı yazı tipi klasörüne ekleyin.

Xml dosyanızda istediğiniz görünüme yazı tipi ekleyin:
Not: Ancak bunun için aşağıdaki şeyleri istediniz:
Android Studio 3.0 ve üzeri kanarya.
Etkinliğiniz AppCompatActivity'yi genişletir.
Gradle dosyanızı şu şekilde güncelleyin:
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildtoolsVersion26'dan fazla ve minimum targetSdkVersiongerekli 26
classpath 'com.android.tools.build:gradle:3.0.0-beta4'
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Sanırım .ttf dosyasını indirmek yerine Google yazı tiplerini kullanabiliriz. Uygulaması çok kolaydır. bu adımları izlemeniz yeterlidir.
adım 1) Projenizin layout.xml dosyasını ve niteliklerde metin görünümü seçme yazı tipi ailesini açın (referans ekran görüntüsü için ekli)

Adım 2) Yazı tipi ailesinde, yazı tipiniz yoksa Diğer yazı tipleri .. seçeneğini belirleyin. yeni bir pencere açılacağını göreceksiniz, orada gerekli yazı tipinizi yazabilir ve bu listeden istediğiniz yazı tipini seçebilirsiniz.) Aşağıdaki resimde gösterildiği gibi Normal, Kalın, İtalik vb.

adim 3) Sonra seçtiğiniz yazı tipi xml dosyasına sahip bir yazı tipi klasörünün / res klasöründe otomatik olarak oluşturulacağını göreceksiniz.
Ardından bu font ailesini doğrudan xml biçiminde kullanabilirsiniz.
android:fontFamily="@font/josefin_sans_bold"
veya pro grammtively bunu kullanarak elde edebilirsiniz
Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);
fontText.setTypeface(typeface);
Merhaba burada Android'de EditTexts ve TextViews üzerine yazı tiplerini bir kerede uygulamak ve tüm projeye uygulamak için daha iyi bir yolumuz var.
Her şeyden önce yazı tipleri klasörü yapmanız gerekir. İşte Adımlar.
1: (proje klasörüne) gidin ve ardından uygulama> src> main
2: Ana klasöre 'varlıklar / yazı tipleri' adlı klasörler oluşturun.
3: Yazı tiplerinizi fontlar klasörüne yerleştirin. Burada 'MavenPro-Regular.ttf' var
EditText'e özel font uygulama adımları ve bu yaklaşımı kullanarak her girişe font uygulayabilirsiniz.
1: Bir Sınıf MyEditText oluşturun (tercih ettiğiniz ad ...)
2: EditText'i genişleten
3: Yazı tipinizi uygulayın
İşte kod örneği;
public class MyEditText extends EditText {
public MyEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public MyEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyEditText(Context context) {
super(context);
init();
}
private void init() {
if (!isInEditMode()) {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/MavenPro-Regular.ttf");
setTypeface(tf);
}
}
}
Ve İşte kodu nasıl kullanılacağı.
MyEditText editText = (MyEditText) findViewById(R.id.editText);
editText.setText("Hello");
Veya xml Dosyanızda
<MyEditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="#fff"
android:textSize="16dp"
android:id="@+id/editText"
/>
Support Library 26.0 (ve Android O) yazı tipleri aşağıdakilerle kaynaktan kolayca yüklenebilir:

Typeface typeface = ResourcesCompat.getFont(Context context, int fontResourceId)
Daha fazla bilgiyi burada bulabilirsiniz.
Android-O ve Android Studio 2.4 için cevabımı eklemek istiyorum
Res klasörü altında font adında bir klasör oluşturun. Proje örneğinize eklemek istediğiniz çeşitli yazı tiplerini indirin Google yazı tipleri
Xml kullanıcı font ailenizin içinde
misal :
<TextView
android:fontFamily="@font/indie_flower"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/sample_text" />
3. programlı bir şekilde olmasını istiyorsanız aşağıdaki kodu kullanın
Typeface typeface = getResources().getFont(R.font.indie_flower);
textView.setTypeface(typeface);
daha fazla bilgi için blog yazımın bağlantısını takip edin Android Studio 2.4 ile Android için yazı tipi stilleri
Android O'da bulunan yeni özelliklere göre, XML'deki yazı tipi kaynakları yeni özellik olarak kullanılabilir.
Yazı tiplerini kaynak olarak eklemek için Android Studio'da aşağıdaki adımları uygulayın:
1) res klasörünü sağ tıklayın ve Yeni> Android kaynak dizinine gidin . Yeni Kaynak Dizini penceresi görünür.
2) Kaynak türü listesinde yazı tipini seçin ve Tamam'ı tıklatın.
Not: Kaynak dizinin adı yazı tipi olmalıdır.
3) Yazı tipi dosyalarınızı yazı tipi klasörüne ekleyin.
Font kaynaklarına, yeni bir kaynak türü olan font yardımıyla erişebilirsiniz. Örneğin, bir yazı tipi kaynağına erişmek için @ font / myfont veya R.font.myfont kullanın.
Örneğin. Typeface typeface = getResources().getFont(R.font.myfont);
textView.setTypeface(typeface);
Kolay ve basit EasyFonts üçüncü taraf kütüphanesini kullanarak çeşitli özel yazı tiplerini ayarlayabilirsiniz TextView. Bu kitaplığı kullanarak, varlıklar / yazı tipleri klasörüne yazı tipi indirme ve ekleme konusunda endişelenmeniz gerekmez. Ayrıca Typeface nesnesi oluşturma hakkında. Varlık klasörü oluşturmakta özgür olacaksınız.
basitçe:
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));
Bu kütüphane tarafından sağlanan birçok yazı tipi vardır.
1. font Klasörüne font.ttf dosyası ekleyin. Sonra bu satırı onCreate yöntemine ekleyin
Typeface typeface = ResourcesCompat.getFont(getApplicationContext(), R.font.myfont);
mytextView.setTypeface(typeface);
Ve işte benim xml
<TextView
android:id="@+id/idtext1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:gravity="center"
android:text="My Text"
android:textColor="#000"
android:textSize="10sp"
/>
Yazı tipini textView öğesine atamak için:
TextView textView = (TextView) findViewById(R.id.your_textView);
final Typeface font = Typeface.createFromAsset(context.getAssets(), "fonts/your_font_name");
yazıtipi_adı yazı tipi uzantısı içeriyor.
Benim gibi Android için çok yeniyseniz, bu biraz zor olabilir. Telefon ettiğinizden emin olun:
TextView myTextView = (TextView) findViewById(R.id.textView);
Typeface typeface=Typeface.createFromAsset(getAssets(), "fonts/your font.ttf");
myTextView.setTypeface(typeface);
gibi bir yöntem içinde onCreate.
Android 8.0 (API 26) fontlarla ilgili yeni özellikler tanıttı.
1) Yazı tipleri kaynak olarak kullanılabilir.
2) İndirilebilir yazı tipleri.
Android uygulamanızda harici yazı tipleri kullanmak istiyorsanız, ya yazı tipi dosyalarını apk olarak ekleyebilir ya da indirilebilir yazı tiplerini yapılandırabilirsiniz.
Font dosyalarını APK'ye dahil etme: Font dosyalarını indirebilir, res / font filer'e kaydedebilir, font ailesini tanımlayabilir ve stillerde font ailesini kullanabilirsiniz.
Özel yazı tiplerini kaynak olarak kullanma hakkında daha fazla bilgi için bkz. Http://www.zoftino.com/android-using-custom-fonts
İndirilebilir yazı tiplerini yapılandırma : Yazı tipi sağlayıcısı ayrıntılarını sağlayarak yazı tipini tanımlayın, yazı tipi sağlayıcı sertifikası ekleyin ve stillerde yazı tipi kullanın.
İndirilebilir yazı tipleri hakkında daha fazla bilgi için bkz. Http://www.zoftino.com/downloading-fonts-android
Önce assetsklasör oluşturun, sonra klasör oluşturun fonts.
Sonra ayarlayabilirsiniz fontgelen assetsveya directorybağırma gibi:
public class FontSampler extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.custom);
Typeface face = Typeface.createFromAsset(getAssets(), "fonts/HandmadeTypewriter.ttf");
tv.setTypeface(face);
File font = new File(Environment.getExternalStorageDirectory(), "MgOpenCosmeticaBold.ttf");
if (font.exists()) {
tv = (TextView) findViewById(R.id.file);
face = Typeface.createFromFile(font);
tv.setTypeface(face);
} else {
findViewById(R.id.filerow).setVisibility(View.GONE);
}
}
}
Fontlarınızı app / src / main / asset içindeki öğeler klasörüne ekleyin, şöyle özel bir metin görünümü oluşturun:
class CustomLightTextView : TextView {
constructor(context: Context) : super(context){
attachFont(context)
}
constructor(context: Context, attrs: AttributeSet): super(context, attrs){
attachFont(context)
}
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) {
attachFont(context)
}
fun attachFont(context: Context) {
this.setTypeface(FontCache.getInstance().getLightFont(context))
}
}
FontCache'i ekleyin: Böylece, yazı tipini tekrar tekrar oluşturmak zorunda kalmazsınız:
class FontCache private constructor(){
val fontMap = HashMap<String,Typeface>()
companion object {
private var mInstance : FontCache?=null
fun getInstance():FontCache = mInstance?: synchronized(this){
return mInstance?:FontCache().also { mInstance=it }
}
}
fun getLightFont(context: Context):Typeface?{
if(!fontMap.containsKey("light")){
Typeface.createFromAsset(context.getAssets(),"Gotham-Book.otf");
fontMap.put("light",Typeface.createFromAsset(context.getAssets(),"Gotham-Book.otf"))
}
return fontMap.get("light")
}
}
Ve işiniz bitti!
Android O'dan doğrudan yazı tipleri ekleyebilirsiniz.
font klasörünü font klasörüne koyun ve fontfamily uygulayın: '' fontlarınız
Yeni okuyucular için
Bu kütüphaneyi Gloxey Özel Yazı Tipi Görünümlerini kullanabilirsiniz
dereceye bağımlılık
dependencies{
compile 'io.gloxey.cfv:custom-font-views:1.0.2'
}
Nasıl kullanılır?
Klasör varlıkları oluşturma -> yazı tipleri . Yazı tiplerinizi yazı tipleri klasörüne kopyalayın.
Görünüme yazı tipi uygulamak için özellik app: font_name = "font_name_string" kullanın.
Misal
<!--Font Names in srings.xml-->
<string name="aadhunik">aadhunik.ttf</string>
<string name="kung_fool">kungfool.ttf</string>
<string name="skrova">skrova.otf</string>
<string name="painting_in_the_sun_light">painting_in_the_sun_light.ttf</string>
<!--Include views in layout.xml-->
<io.gloxey.cfv.CFTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Aadhunik"
android:textColor="#ff00"
android:textSize="40sp"
app:font_name="@string/aadhunik" />
<io.gloxey.cfv.CFButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Kung Fool"
android:textColor="#154748"
app:font_name="@string/kung_fool" />
<io.gloxey.cfv.CFEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello world"
android:textSize="30sp"
app:font_name="@string/skrova" />
<io.gloxey.cfv.CFCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Painting In The Sun Light"
android:textSize="30sp"
app:font_name="@string/painting_in_the_sun_light" />