4

リストビューにフォントを設定できません。書体はテキストビューでのみ機能します。カスタムフォントを簡単に設定する方法はありますか? ありがとうございました。

4

1 に答える 1

-1

リストビュー用のアダプターを作成し、そこで TextView にフォントタイプを設定できます。

これはアダプターのクリップです (C# ですが、Java とそれほど違いはありません)。

    class ParcelRecordContactAdapter : ArrayAdapter<ParcelRecordContact>
    {
        List<ParcelRecordContact> contacts;

        public ParcelRecordContactAdapter(Context context, int textViewResourceId, List<ParcelRecordContact> contacts)
            : base(context, textViewResourceId, contacts)
        {
            this.contacts = contacts;
        }

        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            View v = convertView;

            if (v == null)
            {
                LayoutInflater li = (LayoutInflater)this.Context.GetSystemService(Context.LayoutInflaterService);

                v = li.Inflate(Resource.Layout.ListItem_SingleLine, null);
            }

            ParcelRecordContact contact = contacts[position];

            if (contact != null)
            {
                /**********************************************************
                 * change font on tv here
                 **********************************************************/

                TextView tv = (TextView)v.FindViewById(Resource.Id.tv_single_line_list_item_1);

                if (tv != null)
                {                        
                    tv.Text = "android is fu.... n"

                    Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/DroidSansFallback.ttf");

                    tv.setTypeface(tf);
                }
            }

            return v;
        }
    }
于 2012-12-24T15:58:11.747 に答える