私は以下の方法でアクティビティクラスをオーバーライドしています。拡張アクティビティのタイトルがカスタムスタイルで表示されない
public class MyCustomActivity extends Activity {
...
...
}
public class MyActivity extends MyCustomActivity {
...
...
}
マニフェストのアクティビティ宣言は次のとおりです。
<activity
android:name=".MyCustomActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name=".MyActivity"
android:label = "ChildActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
私の問題はandroid:label="ChildActivity"
でマニフェストに定義されたアクティビティのタイトルがカスタムスタイルで表示されない場合、です。すべてのアクティビティでsetTitle(charSeq);
と呼ぶことなく表示させるにはどうすればいいですか?
編集:私は言及するのを忘れ
一つのこと(恐ろしいことは)私は方法を以下にカスタムスタイルを使用していますということです。
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/CustomTheme" >
...
...
</application>
編集(@ Mudassirの回答後): 下記のように私が使用していたカスタムタイトルバーのレイアウトがあります。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:gravity="center_vertical"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:gravity="left"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageViewIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/vector_arts"
android:layout_marginLeft="-15dp" />
<TextView
android:id="@+id/textTitleBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
ラベルに「ChildActivity」が表示されますか? yesの場合は、MyActivityのアクティビティタグからlabel属性を削除します。 –
あなたは両方のアクティビティで同じタイトルを取得していますか? – kosa
私はタイトルとして何も得ていませんか?私はマニフェストファイルに 'android:label'属性を設定したときに、そのアクティビティのタイトルは' setTitle() 'メソッドを呼び出さずに設定しなければなりません。 – Khan