3

タブレットで使用するフラグメントを組み込むために、私のプロジェクトを書き直しています。また、変換で Android Studio を使い始めることにしました。非常に簡単ですが、カスタム フォントを設定するという非常に単純な作業で問題が発生しました。

私はこれらから始めました: アンドロイドのカスタムフォントアセットフォルダーとそのサブフォルダー内のファイルのリストとこれAndroidフラグメントのカスタムフォントを設定する

Eclipse では、私のクラスは Activity を拡張し、OnCreate問題なく次のことを行いました (ディレクトリとファイル "assets/FUT_R.ttf" を持っています)。

TextView tv=(TextView)findViewById(R.id.someTextView);
Typeface font = Typeface.createFromAsset(getAssets(), "FUT_R.ttf"); 
tv.setTypeface(font);

現在、このアクティビティを ActionBarActivity (V7 サポート ライブラリのフラグメント) に変換しようとしており、上記のコードをこれに変更しました。(view電話用の 1 つの Framelayout を使用した膨張したレイアウトはどこにありますか)

TextView tv=(TextView) view.findViewById(R.id.someTextView);
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "FUT_R.ttf"); 
tv.setTypeface(font);

java.lang.RuntimeException: native typeface cannot be madeそして、ルートに FUT_R.ttf を使用して新しいプロジェクトに「assets」ディレクトリを作成したにもかかわらず、実行時に素敵でクラッシュします。

アセット マネージャーを確認するために、次のコードを試しました。

String[] f = null;
                try {
                    f = getActivity().getAssets().list("");
                }
                catch (IOException e){
                    e.printStackTrace();
                }
                for(String f1:f){
                    Log.i("names",f1);
                }

そして、次の出力を得ました:

07-26 07:40:40.134    2114-2114/com.myapp I/names: images
07-26 07:40:40.134    2114-2114/com.myapp I/names: sounds
07-26 07:40:40.134    2114-2114/com.myapp I/names: webkit

「アセット」ディレクトリまたはプロジェクトのどこにもこれらのファイルやディレクトリがないため、混乱しています。明らかに、エラーはシステムがフォント ファイルを見つけられないことです。私は何を間違っていますか?私はこのばかげた問題にあまりにも多くの時間を無駄にしてしまいました。

ありがとう!

4

1 に答える 1

13

私は最終的にこれに出くわしました: Android Studio で単純なテキスト ファイルをロードする

これは、Android Studio の assets フォルダーが明らかに変更されていることを示しています。ルート アプリ フォルダー (libs、src、ect と同じレベル) の通常の場所ではなく、yourapp/src/main/assets の下に作成する必要があります。うまくいけば、これは他の誰かに役立ちます。私はそれに多くの時間を無駄にしました!

于 2013-07-26T22:57:14.560 に答える