2017-08-06 10 views
0

私はリストビューのフォントを変更しようとしています。assets/fontsというフォルダを作成しました。このフォルダにOpenSans-Regular.ttfを追加しました。私はアダプタクラスにtypeface行を追加しました。 アダプタ:それがあるべきようAndroidカスタムフォントレンダリングの問題

public class Adapter extends BaseAdapter { 

    List<String> listFunds; 
    Typeface typeface; 


    Context mContext; 

    public Adapter(Context mContext, List<String> listFunds) { 
     this.mContext = mContext; 
     this.listFunds = listFunds; 

    } 

    public int getCount() { 
     return listFunds.size(); 
    } 

    public Object getItem(int arg0) { 
     return null; 
    } 

    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View arg1, ViewGroup viewGroup) { 

     LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View row = inflater.inflate(R.layout.list_row, viewGroup, false); 
     TextView textView = (TextView) row.findViewById(R.id.textView); 

     textView.setText(listFunds.get(position)); 
     typeface = Typeface.createFromAsset(mContext.getAssets(), "fonts/"+"OpenSans-Regular.ttf"); 
     textView.setTypeface(typeface); 


     return row; 
    } 
} 

しかし、フォントは思えません。私は多くのフォントを試しましたが、何も変わりませんでした。

私のアプリはこのように思える:

screenshot of my app

しかし、フォントは、私はあなたがeffeciencyのコンストラクタでこのtypeface = Typeface.createFromAsset(mContext.getAssets(), "fonts/"+"OpenSans-Regular.ttf");を置く提案し、この openSans-Regular

+0

アプリを物理デバイスまたはエミュレータで実行していますか? Androidエミュレータの – Jonas

+0

@Jonas – heyaa

+1

エミュレータはグラフィックを正しくレンダリングするのに問題があることが知られています。物理デバイスでアプリを実行することを強くお勧めします。 – Jonas

答えて

0

のように見えるはずです。それはまたあなたの問題を引き起こすものかもしれません。または、あなたが使用しているフォントファイルを変更することもできますが、それは英語の文字から異なる言語のように見えます。

+0

すばやい返信ありがとう!私もこれを試してみました。 @ Jonasが言ったように、エミュレータは問題です。 – heyaa

+0

それは素晴らしいです。少なくともそれは動作します – Mohale