Custom font for Android listview
16,405
Solution 1
Here is the custom adapter class and the constructor
class CustomAdapter extends ArrayAdapter<CharSequence>{
Context context;
int layoutResourceId;
CharSequence data[] = null;
Typeface tf;
public CustomAdapter(Context context, int layoutResourceId, CharSequence[] data, String FONT ) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
tf = Typeface.createFromAsset(context.getAssets(), FONT);
}
Put the font you want to use in your assets folder and fill your listview like this:
listAdapter = new CustomAdapter(this, R.layout.custom_list_text, R.array.abra_hotel, "name_of_font.ttf");
Solution 2
you can't apply font directly to listview and you need to create custom adapter for listview and change it font for more details click below stack post it's already discussed.
How to change color and font on ListView
Related videos on Youtube
Author by
Admin
Updated on June 04, 2022Comments
-
Admin almost 2 years
I have a custom font for my android activity.
MainActivity.class
private void initControls() { // TODO Auto-generated method stub header = (TextView) findViewById (R.id.tvAccommodations); lv = (ListView) findViewById (R.id.lvAccommodations); text = (TextView) findViewById (R.id.textView); Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/heartbre.ttf"); header.setTypeface(tf); text.setTypeface(tf); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.abra_hotel, R.layout.custom_list_text); lv.setAdapter(adapter); header.setText(value);
custom_list_text.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/list_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="18sp" android:textStyle="bold" android:text="@string/app_name" android:paddingLeft="6dip" />
Android throws NullPointerException. Why is it so? Any help is appreciated. Thanks.
LOGCAT:
03-08 19:48:03.859: E/AndroidRuntime(413): Caused by: java.lang.NullPointerException 03-08 19:48:03.859: E/AndroidRuntime(413): at com.say.philippineexplorer.PlaceAccommodations.initControls(PlaceAccommodations.java:34) 03-08 19:48:03.859: E/AndroidRuntime(413): at com.say.philippineexplorer.PlaceAccommodations.onCreate(PlaceAccommodations.java:22)
-
vlio20 about 10 yearsIt is not working for my adapter, here is the SO: stackoverflow.com/questions/21439707/…
-
William Grand over 9 yearsYou created a property called
tf
and set aTypeface
to it, buttf
isn't assigned to anything. How does this code set the font of the item renderer? -
Anna Billstrom over 8 yearsI put font sin "src/assets/fonts/myfont.ttf" and passed into the adapter "fonts/myfont.ttf" and it worked. Thanks!