我正在使用自定义数组adpter实现自定义列表视图。在每一行中,都有文本视图和图像。我想在文本视图中添加阿拉伯语的自定义字体。任何人都可以帮我加载自定义字体。提前感谢您的帮助。
以下是我创建文本视图对象的MyViewHolder的代码:
public static class MyViewHolder {
TextView textViewArabic;
ImageView imgView;
public MyViewHolder(View v, Context context) {
// TODO Auto-generated constructor stub
textViewArabic = (TextView) v.findViewById(R.id.tvArabic);
imgView = (ImageView) v.findViewById(R.id.imgView);
}
}
答案 0 :(得分:1)
尝试以下代码:
内部getView()
方法
myHolder.textViewArabic.setTypeface(Typeface.createFromAsset(getContext().getAssets(),
"custom_font_file_name.ttf"););
字体文件必须位于assets/fonts/custom_font_file_name.ttf
还有另一种方法可以覆盖整个布局的字体。
答案 1 :(得分:0)
下载TruTypeFace字体(.ttf)并将其放在资产文件夹中。添加以下代码以从设置该字体到文本视图的资产中获取该字体,如下面的代码所示。
public static class MyViewHolder {
TextView textViewArabic;
ImageView imgView;
Typeface face;
public MyViewHolder(View v, Context context) {
// TODO Auto-generated constructor stub
textViewArabic = (TextView) v.findViewById(R.id.tvArabic);
imgView = (ImageView) v.findViewById(R.id.imgView);
face = Typeface.createFromAsset(context.getAssets(),
"fonts/_PDMS_Saleem_QuranFont.ttf");
textViewArabic.setTypeface(face);
}
}
答案 2 :(得分:0)
尝试以下代码。
font = Typeface.createFromAsset(context.getAssets(), "font name.ttf");
TextView details = (TextView) findViewById(R.id.item_name);
details.setTypeface(font);
您需要将您的字体存储在assets文件夹中(src-> main-> assets)
希望这有帮助
答案 3 :(得分:0)
在/ res / layouts中,您需要在activity_main.xml文件中包含要创建的自定义文本视图。
/res/layout/activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:customfontdemo="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:padding="12dp"
android:text="Standard Android Font" />
<com.authorwjf.customfontdemo.MyTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="32sp"
android:padding="12dp"
customfontdemo:fontName="pipe_dream.ttf"
android:text="Custom Android Font" />
</LinearLayout>
有关详细信息,请参阅here。