一个Simplecursoradaptor内自定义文本字体 [英] Custom text font inside a Simplecursoradaptor

查看:120
本文介绍了一个Simplecursoradaptor内自定义文本字体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在这里我使用SimpleCursoradapter的应用程序。

I have made an application where i use a SimpleCursoradapter.

    String[] from = new String[] {"title","notes","image"};
    int[] to = new int[] { R.id.esodaTextView, R.id.amountTextView, R.id.imageView1}; 
    esodaAdapter = new SimpleCursorAdapter (this, R.layout.recipe_list_item, null, from, to);

正如你可以看到我展示三个数据在2 TextViews(esodaTextView + amountTextView);在一个ImageView的。

As you can see i show the three data at 2 TextViews (esodaTextView + amountTextView) and at one imageView.

现在的问题是如何设置自定义字体(即保存在assets文件夹),以这2 TextViews(esodaTextView + amountTextView),这样我就可以显示出使用自定义字体的文本。

这是列表项目的xml文件:

This is the xml file for the list item:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="10dp"
android:background="#55eee9e9" >

<TextView 
android:id="@+id/esodaTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="20dp"
android:textColor="#000000"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical" />

<TextView
android:id="@+id/amountTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/esodaTextView"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingBottom="5dp"
android:textSize="12dp" />

<ImageView
android:id="@+id/imageView1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerVertical="true"
android:layout_marginRight="10dp"
android:layout_alignParentRight="true"
android:src="@drawable/ic_launcher" />

</RelativeLayout>

我知道我编程可以通过以下code设置自定义字体,但我该如何使用它Simplecursoradaptor?

I know that i can programmatically set a custom font via the following code but how can i use it inside a Simplecursoradaptor?

 TextView txt1 = (TextView) findViewById(R.id.textView1);  
 Typeface font = Typeface.createFromAsset(getAssets(), "segoescb.ttf");  
 txt1.setTypeface(font);

感谢您对您的帮助提前。

Thank you for your help in advance.

推荐答案

您想要做的是覆盖SimpleCursorAdapter的的 ViewBinding

What you want to do is overwrite the SimpleCursorAdapter's ViewBinding:

SimpleCursorAdapter.ViewBinder binding=adapter.setViewBinder( new SimpleCursorAdapter.ViewBinder()
  {
    boolean SetViewValue(View view, Cursor cursor, int columnIndex)
    {
      TextView tv=(TextView)view.findViewById(R.id.iesodaTextView)
      //Do what you want here
      return true;
    }
  });

这篇关于一个Simplecursoradaptor内自定义文本字体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆