ここでは絶対的なAndroid開発の初心者ですので、ご容赦ください。ActionBarのタイトルで2つのことを達成しようとしています。
- タイトルテキストを中央揃え
- タイトルテキストにカスタムフォントを使用する
私はこの答えに従おうとしているので、最初にその答えを見てください。
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);
上記に対応する新しいXMLファイルlayout/titleview.xmlR.layout.titleview
を作成しました。を含む:
<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" />
これにより、エラーが発生します。
The following classes could not be found: com.muppethead.app.name.CustomTextView
質問
どこが間違っているのですか?上記のエラーを修正することに加えて、どこにある私のフォントを参照しassets/fonts/font.otf
ますか?そして、テキストを中央に配置するのはどうですか?
XMLからこれを可能にしないことは、Googleにとって恥ずべきことです。これにより、新しい開発者が魅力的なものを作成する可能性がなくなります。
よろしくお願いします。