web-dev-qa-db-ja.com

「Android:fontFamily」のAndroid O?

Android Oには、フォントをリソースとして使用できる新しい機能、XMLのフォントが導入されています。そして、私は Android developer が提供するリソースファイルにfontフォルダーを作成していますが、問題はAndroid Oで提供されるfontフォルダーを使用中にfile name must end with .xmlというエラーが発生することですリリース。

以下のレイアウトを確認してください。

 <TextView
   Android:id="@+id/txtMsgCount"
   Android:layout_width="wrap_content"
   Android:layout_height="16dp"
   Android:background="@drawable/msg_count"
   Android:gravity="center"
   Android:text="123"
   Android:fontFamily="@font/Montserrat_Regular" ////IT IS MY FONT STYLE
   Android:textColor="@Android:color/white"
   Android:textSize="10sp" />

fontで作成したresフォルダーをMontserrat_Regular.otfファイルで確認してください

My font folder with font style

上記の使用中に次のエラーが表示されます。これは次のとおりです。

Error getting

私はそれについて検索しましたが、期待した結果が得られませんでした、チェックしてください:

1。最初のリンク
2。2番目のリンク
。3番目のリンク
4。Forth Link

Font resource fileをクリックしても、Right-click the font folder and go to New > Font resource fileは作成されません。ただし、Font resource fileのオプションを取得できない場合は、以下を確認してください。

enter image description here

16

フォントリソースは、Android St​​udio 2.3.3ビルドチェーンでは完全にサポートされていません。 Android St​​udio 3.0(現在Canaryチャンネルでのみ利用可能)および関連するGradleバージョン用のAndroidプラグインが完全にサポートされています。

IOW、Android St​​udio 3.0にアップグレードする準備ができるまでこれを控えてください。

(ところで、「Android Studio 2.4」への参照が表示されている場合、数か月前にAndroid St​​udio 3.0に名前が変更されました)

9
CommonsWare

私はちょうど同じ問題を抱えていたので、答えを探している間にこのスレッドに来ました。 deverloper.Android.com から解決策を見つけました。

  1. Android Studioの 'res'フォルダを右クリックします

  2. [新規]> [Androidリソースディレクトリ]を選択します

  3. 「font」という名前を付けます

  4. ここに、フォント(.ttf)ファイルのみa-z 0-9および_文字を配置する必要があります。

  5. フォントを設定(私の名前は 'alegreyaregular.ttf')このように:

Typeface typeface = ResourcesCompat.getFont(this, R.font.alegreyaregular);
TextView textView.setTypeface(typeface);
3
Kees de Vriesch

AS 3.0 beta2、Gradle 4.xおよび正しいビルドツールを使用して、このエラーで1時間を失いました。

「fonts」というフォルダーにフォントのコピーがあったことがわかりました。このフォルダーはAndroidプロジェクトビューに表示されません。エラーを読んで、 's'をキャッチできませんでした。読者へのちょっとした注意点です!

2
PieterAelse

まったく同じエラーがありましたファイル名は.xmlで終わる必要がありますこれらの設定を使用して、問題を魔法のように解決しました。

プロジェクトレベルのGradleでこれらの設定を使用します:

compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
    applicationId "com.company.app"
    minSdkVersion 21
    targetSdkVersion 26
...
}

Application Level Gradleでこれらの設定を使用します:

classpath 'com.Android.tools.build:gradle:3.0.1'

Android Stidio:

Android studio version 3.0.1.

乾杯!

2
Ali Akram

私は同じ問題に直面していました!!上記の問題を解決するには、build.gradleファイルを更新するだけです。

クラスパス 'com.Android.tools.build:gradle:3.0.1'

compileSdkVersion 26

buildToolsVersion '26 .0.3 '

AndroidStudioを最新のバージョンに更新します。

一日をお楽しみください。

1

Android Studio 2.4で利用可能なすべての新しい開発者機能のサポートが含まれていますAndroid Oスタジオを更新する必要があります

そして、作成XMLファイル

1)フォントフォルダーを右クリックし、[新規作成]> [フォントリソースファイル]に移動します。 [新しいリソースファイル]ウィンドウが表示されます。

2)ファイル名を入力し、[OK]をクリックします。新しいフォントリソースXMLがエディターで開きます。

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <font
    Android:fontStyle="normal"
    Android:fontWeight="400"
    Android:font="@font/Montserrat_Regular.otf" />

</font-family>
1
akhilesh0707