7

I have a project in which i setted:

  • minSdkversion setted to 10
  • MainActivity is a TabActivity

Code in onCreate method is this:

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
...

With previous settings, all works well! But, if i set minSdkVersion to 11 or above, this exception occurs:

android.util.AndroidRuntimeException: You cannot combine custom titles with other title features

I don't understand why happens this just changing minSdkVersion. I red a lot about this problem on this site. I tried setting:

  • Theme.NoTitleBar in main layout and after in Manifest file too
  • I put those 3 lines in all possible positions
  • If i comment first line a NullPointerException occurs when i call something on my TextView reference of my CustomTitle layout
  • I tried setting, in theme.xml file declaration, "windowNoTitle" = true

Since i'm using functions available from API 11 only, i want to set minSdk to 11 before loading App on Store. How can i do ?? I need Help

Edit: With minSdkVersion = 10 and Theme.NoTitleBar in Manifest, same error occurs. Removing it, all works as before. Can anyone provide a working code (manifest and activity code) for setting a custom title when API is 11 or above ? Thx much

4

7 に答える 7

38

自分で直しました。理由はわかりませんが、各アクティビティの宣言にマニフェスト ファイルの「テーマ」プロパティを追加するだけで、すべて機能します。

これから:

<activity
        android:name=".CheckActivity"
        android:configChanges="orientation"
        android:screenOrientation="portrait"
</activity>

これに:

<activity
        android:name=".CheckActivity"
        android:configChanges="orientation"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme" >
</activity>
于 2012-10-30T11:51:13.143 に答える
3

@kinghomer実際に2.2(API 8)でCUSTOM_TITLEを試しました。API 11 を試してみて、またご連絡いたします。

その前に、Theme.NoTitleBar をどこにも作成する必要はなく、.java ファイルで直接制御できます。少し時間をください、戻ってきます!

于 2012-10-24T10:06:47.260 に答える
0

ActionBarActivityこの問題は、またはでアクティビティを拡張すると共に、カスタム タイトル バーを追加しようとすると発生しますAppcomActivity。これら 2 つのアクティビティ クラスには、既にタイトル バーが定義されています。そのため、独自のカスタム タイトル バーを追加しようとすると、どちらのタイトル バーを使用するか (独自のタイトル バーまたはアクティビティによって提供されるバー) の競合が発生します。

この問題を解決するにActivityは、定義済みのタイトル バーがないアクティビティを拡張するだけで、競合することなく受け入れられます。

public void MyActivy extends Activity
{

    // your code

}
于 2016-01-01T06:01:20.473 に答える