I have created a custom textview to set the custom font and to set the html text for whole application. Because my app has both the functions in many places. In this case, i can able to set the custom font to whole android application it works great. but failed to apply html text for custom textview.
Limitations i have:
- I do not want to get the textview and use
setText(Html.fromHtml("Some text"))
. It is working when i using this in code but i want to use the text instrings.xml
as<string name="my_app"><![CDATA[My Whole <b>app</b>lication]]></string>
- I cannot override settext in custom class function since it is final method.
- I have the html text nearly 100. I do not want to hard code this strings in code. Please help.
My custom class:
public class CustomTextView extends TextView {
public CustomTextView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
@Override
public void setTypeface(Typeface tf) {
// TODO Auto-generated method stub
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/gothic.ttf"));
}
}
My layout file:
<com.views.CustomTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/my_app" />
I get the output as : My application
I want the output as: My application
app in bold text
Is there a way to achieve this?