您的位置:首页 > 其它

经验分享一 自定义ArrayAdapter中的字体

2014-03-01 21:21 330 查看
最近一直忙于做安卓项目,好长时间没写博客了,

就把最近我遇到的问题和把问题解决的思路写出来,

供大家分享吧,有些经验需要当自己真正遇到时,才能真正体会的。

前些天为个人做的一个小软件,需要让界面更加的美化一些,

所以就需要将适配器中的字体给改变,但是网上各种搜,

就是没能解决问题,最后还是在讨论群中,经一位大神的提醒,

我最终还是解决了。具体看下面的代码:

首先是重载ArrayAdapter这个类,并重写其中的getVeiw()方法,详细代码如下:

package lxx.dadangpic;

import android.content.Context;
import android.graphics.Typeface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

public class MyArrayAdater extends ArrayAdapter<String>{

	private TextView  t;
	private Context Maincontext;
	public MyArrayAdater(Context context, int textViewResourceId,String[] aStrings) {
		super(context, textViewResourceId,aStrings);
		Maincontext = context;
		// TODO Auto-generated constructor stub
	}
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		Typeface typeface = Typeface.createFromAsset(Maincontext.getAssets(), "fonts/huawenxingkai.ttf");
		
		for(int i = 0; i < parent.getChildCount(); i++){
			View view = parent.getChildAt(i);
			if (view instanceof TextView) {
				//System.out.println("come here!");
				((TextView) view).setTypeface(typeface);
				
			}
		}
		return super.getView(position, convertView, parent);
	}
}


其中的for循环是个重点,意思是将ViewGroup的所有的view全部设置一下字体,至于还有就是讲自定义的字体库放到assets下的fonts目录下,没有的话,要新建。这些简单的就不说了。我还是不多说了,就把这个简单的项目共享吧!其中我写个各种的特效,用于播放图片的动画功能,还有加入了背景音乐等功能。整体效果看起来还是蛮不错的。

我把它上传到我的资源里面去了,想看的话,可以把它下载下来,研究研究,还是蛮不错的。http://download.csdn.net/detail/aibieqing241/6980101
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: