Absolute Android development beginner here, so please bear with me. I am trying to achieve 2 things with my title in the ActionBar:
- Center align the title text
- Use a custom font for the title text
I'm trying to follow this answer, so please look at that answer first.
Contents of MainActivity.java
// ATTEMPT TO STYLE THE ACTIONBAR
this.getActionBar().setDisplayShowCustomEnabled(true);
this.getActionBar().setDisplayShowTitleEnabled(false);
LayoutInflater inflator = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.titleview, null);
//if you need to customize anything else about the text, do it here.
//I'm using a custom TextView with a custom font in my layout xml so all I need to do is set title
((TextView)v.findViewById(R.id.title)).setText(this.getTitle());
//assign the view to the actionbar
this.getActionBar().setCustomView(v);
I created a new XML file: layout/titleview.xml to correspond to R.layout.titleview
above. It contains:
<com.muppethead.app.name.CustomTextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:textSize="20dp"
android:maxLines="1"
android:ellipsize="end"
android:text="MY APP TITLE" />
This gives the error:
The following classes could not be found: com.muppethead.app.name.CustomTextView
Question
Where am I going wrong? In addition to fixing the above error, where do I reference my font, which is located in assets/fonts/font.otf
? And what about centering the text?
I gotta say, shame on Google for not making this possible from the XML. It removes the possibility for new developers to create anything attractive.
Thanks in advance for your help.