public class RecyclerAdapter extends RecyclerView.Adapter <RecyclerAdapter.ViewHolder>{
TextView info;
ArrayList<String> posts;
public RecyclerAdapter(ArrayList<String> posts) {
this.posts = posts;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_child,parent,false));
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.info.setText(posts.get(position));
Linkify.addLinks(holder.info, Linkify.ALL);
}
@Override
public int getItemCount() {
return posts.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView info;
public ViewHolder(View itemView) {
super(itemView);
info = (TextView)itemView.findViewById(R.id.info_text);
}
}
Как установить шрифт для Textview
из assets/font
?
Довольно просто. Правда для этого будет необходимо передать Context
в RecyclerAdapter
в данном случае.
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.info.setText(posts.get(position));
//Установка шрифта
Typeface font = Typeface.createFromAsset(context.getAssets(), "your_font.ttf");
holder.info.setTypeface(font);
Linkify.addLinks(holder.info, Linkify.ALL);
}
Создать класс, расширяющий TextView
public class TextViewPlus extends TextView {
private static final String TAG = "TextView";
public TextViewPlus(Context context) {
super(context);
}
public TextViewPlus(Context context, AttributeSet attrs) {
super(context, attrs);
setCustomFont(context, attrs);
}
public TextViewPlus(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setCustomFont(context, attrs);
}
private void setCustomFont(Context ctx, AttributeSet attrs) {
TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.TextViewPlus);
String customFont = a.getString(R.styleable.TextViewPlus_customFont);
setCustomFont(ctx, customFont);
a.recycle();
}
public boolean setCustomFont(Context ctx, String asset) {
Typeface tf = null;
try {
tf = Typeface.createFromAsset(ctx.getAssets(), asset);
} catch (Exception e) {
Log.e(TAG, "Could not get typeface: "+e.getMessage());
return false;
}
setTypeface(tf);
return true;
}
}
attrs.xml
<resources>
<declare-styleable name="TextViewPlus">
<attr name="customFont" format="string"/>
</declare-styleable>
</resources>
item.xml
<?Layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:foo="http://schemas.android.com/apk/res/com.example"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.example.TextViewPlus
android:id="@+id/textViewPlus1"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:text="@string/showingOffTheNewTypeface"
foo:customFont="saxmono.ttf">
</com.example.TextViewPlus>
</LinearLayout>
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Использую библиотеку XChart от knownЕсли кто то пользовался данной библиотекой подскажите, какой метод или какая константа отвечает за сглаживания...
Доброго времени сутокХочу получить потоковое видео в небольшом Java-приложении, организованное с использованием swing
Нужна помощь в структуризации моих знаний о том как выводится графики и проблема эта появилась в момент когда я писал простенькую игрушку...