بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تغییر فونت برای ListView
ضمن عرض سلام و خسته نباشد
چند وقت پیش یکی از بچه ها لطف کرد آموزشی قرار داد برای استفاده از فونت ها برای استفاده در اپلیکیشن
واسه textviwe یا bottom و بقیه چیزا میشه استفادش کرد ، ولی واسه ListView نمیشه
کسی بلده چطور میشه ListView رو با فونتی که میخوایم درست کنیم ؟
0
0
اگر خودتون adapter برای لیست ویوتون درست کردید که میتونید اونجا به تکست ویو دسترسی پیدا کنید و فونتشو تغییر بدید اگرم خودتون adapter ننوشتید از دوستان دیگه راهشو بپرسید من فعلا نمیدونم (10 سال پیش)
0
0
خودم آداپتر نوشتم ، ولی تو آداپتر از getAssets() خطا میگیره ، انگاری نمیشناستش (10 سال پیش)
0
0
آره یه راهکاری داره ولی فعلا اگه فقط میخای فونت عوض کنی ، فونتو توی کلاس G تعریف کن و توی آداپترت بهش دسترسی پیدا کن (10 سال پیش)
0
0
برات این پایین کدشو نوشتم .. جاهایی رو که باس کد بزنی رو نوشتم . ( =====> اینو اضافه کن )) این نشونشه ... فونت مورد نظرتو توو پوشه ی asset بزار و بین " " اضافه کن
مثال : "aram.TTF"
موفق باشی (10 سال پیش)
0
0
ممنونم از همتون بچه ها (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
ba2ever
10 سال پیش
+7
0
public class AdapterFilm extends ArrayAdapter<StructFilm> {
public static HashMap<ImageView, String> imageMap = new HashMap<ImageView, String>();
public static ContextWrapper contextWrapper = new ContextWrapper(G.context); =====> اینو اضافه کن
public static AssetManager asset;=====> اینو اضافه کن
public static Typeface typeface;=====> اینو اضافه کن
public AdapterFilm(ArrayList<StructFilm> array) {
super(G.context, R.layout.adapter_film, array);
}
private static class ViewHolder {
public ViewGroup layoutRoot;
private static String item;
public ViewHolder(View view) {
layoutRoot = (ViewGroup) view.findViewById(R.id.layoutRoot);
imgLogo = (ImageView) view.findViewById(R.id.imgLogo);
txtName = (TextView) view.findViewById(R.id.txtName);
txt_time = (TextView) view.findViewById(R.id.txt_time);
//////////////////////////////////////
asset = contextWrapper.getAssets(); =====> اینو اضافه کن
typeface = Typeface.createFromAsset(asset, "aram.TTF");=====> اینو اضافه کن
txtName.setTypeface(typeface);=====> اینو اضافه کن
//////////////////////////////////////
asset = contextWrapper.getAssets();
typeface = Typeface.createFromAsset(asset, "aram.TTF");
txt_time.setTypeface(typeface);
}
public void fill(final ArrayAdapter<StructFilm> adapter, final StructFilm item, final int position) {
txtName.setText(item.name);
txt_time.setText(item.time);
String filename = HelperString.getFileName(item.logoUrl);
final File imageFile = new File(G.DIR_FINAL + "/" + filename);
if ( !imageFile.exists()) {
imgLogo.setImageBitmap(null);
DownloadManager.addToDownloadList(item.logoUrl, imgLogo);
}
BitmapFactory.Options options = new BitmapFactory.Options();
//options.inSampleSize = 8;
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath(), options);
imgLogo.setImageBitmap(bitmap);
layoutRoot.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
G.selectedFilm = item;
Intent intent = new Intent(G.currentActivity, ActivityFilmDetail.class);
intent.putExtra("item", item.id + "");
G.currentActivity.startActivity(intent);
}
});
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
StructFilm item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.adapter_film, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position);
return convertView;
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .