2017-03-10 57 views
-1

我需要将字体设置为我的recyclerView。但该应用程序崩溃在这一行:将字体设置为recyclerView项目

var typefaceRegular = Typeface.CreateFromAsset(context.Assets, "ProximaNovaRegular.otf"); 

该类的完整代码如下所示。

private readonly List<Company> movies; 

    private Activity context; 

    public MovieAdapter(List<Company> movies) 
    { 
     this.movies = movies; 
    } 

    public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) 
    { 
     var movieViewHolder = (MovieViewHolder)holder; 
     movieViewHolder.MovieNameTextView.Text = movies[position].CompanyName; 
     var position_new = position + 1; 
     movieViewHolder.MovieCount.Text = position_new.ToString(); 
     //FONTS 
     var typefaceRegular = Typeface.CreateFromAsset(context.Assets, "ProximaNovaRegular.otf"); 
     movieViewHolder.MovieNameTextView.SetTypeface(typefaceRegular, TypefaceStyle.Bold); 
     //FONTS ENDED 
     movieViewHolder.MovieNameTextView.Click += delegate 
     { 
      movieViewHolder.MovieNameTextView.Context.StartActivity(typeof(ClientLogin)); 
     }; 

    } 

    public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) 
    { 
     var layout = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.MovieRow, parent, false); 

     return new MovieViewHolder(layout, OnItemClick); 

    } 

    public override int ItemCount 
    { 
     get { return movies.Count; } 
    } 

    void OnItemClick(int position) 
    { 
    } 
} 
} 

回答

0

您可以使用自定义的TextView这样

public class CustomTextView extends TextView { 

    public CustomTextView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    public CustomTextView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 

    public CustomTextView(Context context) { 
     super(context); 
     init(); 
    } 

    private void init() { 
     if (!isInEditMode()) { 
      Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "greyScaleBasicRegular.ttf"); 
      setTypeface(tf); 
     } 
    } 

} 

在XML文件中该

<com.xxx.xxx.views.CustomTextView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="16dp" 
      android:layout_marginStart="16dp" 
      android:layout_toRightOf="@id/img_back_edit_profile" 
      android:gravity="center_vertical" 
      android:text="@string/toolbar_title" 
      android:textColor="@android:color/white" 
      android:textSize="20sp" /> 
0

我按照这个指令解决我的问题:Calligraphy plugin

而且我下载NuGet的书法插件

相关问题