完璧に表示されているシンプルなカスタムタイトルを作成しました。ただし、setTitleメソッドが魔法のように機能するためにTextViewに指定するIDがわかりません。
私の最初の選択は@android:id / titleでしたが、それは機能しませんでした。
例xmlでカスタムタイトルレイアウトを定義し、それをアクティビティに追加しました。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent" >
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:scaleType="centerInside"
android:onClick="home"
android:src="@drawable/logo" />
<TextView
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textSize="18dp"
android:textStyle="bold"
android:layout_centerVertical="true"
android:text="TextView" />
</RelativeLayout>
TextViewが「タイトル」コンテナになりました。マニフェストのandroid:label値を、この新しいタイトルのTextViewに自動的に配置する必要があります。
つまり。デフォルトのメソッドsetTitleは、この値を定義済みのビューIDに追加する必要があります。必要なのはそのIDだけです。