esmail3309
یک شنبه 23 شهریور 1393, 23:09 عصر
سلام دوستان
چطوری میتونم فونت متون در لیست ویو رو تغیر بدم؟
از این  (http://www.learn2crack.com/2013/10/android-custom-listview-images-text-example.html)آموزش استفاده کردم
saeed_g21
دوشنبه 24 شهریور 1393, 00:19 صبح
اگه لیست ویوی که ساختی شخصی سازی (سفارشی) شده باشه میشه ولی در غیر اینصورت فکر نکنم
کد لایوت و اکتیویتی رو بده بگم
esmail3309
دوشنبه 24 شهریور 1393, 07:45 صبح
اکتیویتی:
package com.example.clashup;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomList extends ArrayAdapter<String>{
    
    
private final Activity context;
private final String[] web;
private final Integer[] imageId;
public CustomList(Activity context,
        
String[] web, Integer[] imageId) {
super(context, R.layout.list_single, web);
this.context = context;
this.web = web;
this.imageId = imageId;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.list_single, null, true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.txt);
ImageView imageView = (ImageView) rowView.findViewById(R.id.img);
txtTitle.setText(web[position]);
imageView.setImageResource(imageId[position]);
return rowView;
}
}
اکتیویتی:
package com.example.clashup;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.app.Activity;
import android.content.Intent;
public class activity_1 extends Activity {
  ListView list;
  String[] web = {
      "ساختمان های دفاعی",
      "ساختمان های ارتش",
      "ساختمان های منابع",
      "ساختمان های دیگر",
      "سربازان اکسیر",
      "سربازان اکسیر سیاه",
      "طلسم ها",
      "تله ها"
  } ;
  Integer[] imageId = {
      R.drawable.zero_1_3_1,
      R.drawable.zero_1_2_1,
      R.drawable.zero_1_1_1,
      R.drawable.zero_1_4_1,
      R.drawable.zero_1_5_1,
      R.drawable.zero_1_6_1,
      R.drawable.zero_1_7_1,
      R.drawable.zero_1_8_1
  };
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_activity_1);
    
    
    
    CustomList adapter = new
        CustomList(activity_1.this, web, imageId);
    list=(ListView)findViewById(R.id.list);
        list.setAdapter(adapter);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                    Intent intent = new Intent();
                    switch(arg2){
                        case 0: intent.setClass(arg1.getContext(), activity_1_1.class   );  startActivity(intent); break;
                        case 1: intent.setClass(arg1.getContext(), activity_1_2.class   );  startActivity(intent); break;
                        case 2: intent.setClass(arg1.getContext(), activity_1_3.class   );  startActivity(intent); break;
                        case 3: intent.setClass(arg1.getContext(), activity_1_4.class   );  startActivity(intent); break;
                        case 4: intent.setClass(arg1.getContext(), activity_1_5.class   );  startActivity(intent); break;
                        case 5: intent.setClass(arg1.getContext(), activity_1_6.class   );  startActivity(intent); break;
                        case 6: intent.setClass(arg1.getContext(), activity_1_7.class   );  startActivity(intent); break;
                        case 7: intent.setClass(arg1.getContext(), activity_1_8.class   );  startActivity(intent); break;
 
          
                    }}}
        }    );
  
  }
لایوت:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <RelativeLayout
        android:id="@+id/RelativeLayout1"
        android:layout_height="40dp"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="4dp"
        android:background="@drawable/title"
        android:gravity="left" >
        <ImageView
            android:id="@+id/img"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="270dp" />
        <TextView
            android:id="@+id/txt"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="8dp"
            android:textStyle="bold" />
    </RelativeLayout>
</TableLayout>
saeed_g21
دوشنبه 24 شهریور 1393, 11:42 صبح
هر فونتی که میخوای کپی کن فولدر : assets
بعد در متد getView اکتیویتی CustomList یک TypeFace تعریف میکنی
مثل :
Typeface font=Typeface.createFromAsset(context.getAssets(),"fonts/BYekan.ttf");
بعد همان Typeface رو برای هرکدوم از Textview هات که خواستی تعریف کن
مثل :
txtTitle.setTypeface(font);
نکته : مسیر فونت و نام فونت و پسوند فونت یعنی کلا همه چیز به حروف کوچک و بزرگ حساس است بایستی مثل هم باشند
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.