0

メイン アクティビティの名前の変更に問題があります。削除したいです。私が使用した最初の方法としてthis.getActionBar().setDisplayShowTitleEnabled(false);。動作しますが、 MainActivity が開始される前にtitle表示されてから消えます。面倒なので編集してみたのですManifest.xmlが、面白い問題が1つ出てきました。属性に設定android:label=""したらactivityアプリ名が消える!それはどのように起こりますか?タグの設定android:labelをしているのですapplicationが、アプリはそれを気にせず、タグandroid:labelから値を取りますactivity。どうすれば修正できますか?読んでくれてありがとう。

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/Theme.Example" 
        android:label="@string/app_name"
        android:logo="@drawable/bobincut">
        <activity
            android:label=""
            android:name="com.example.bakumovies.MainActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
4

3 に答える 3

1

これは、次の 2 つの方法で実行できます。

最も簡単な方法は、アクティビティの onCreate() に次の行を追加することです。

requestWindowFeature(Window.FEATURE_NO_TITLE);

別の解決策もあります:

このテーマを styles.xml に追加します。

<style name="NoTitleTheme" parent="@style/Theme.Example">
    <item name="android:windowNoTitle">true</item>
</style>

次に、このテーマをアクティビティに設定します (ここで追加した android:theme タグに注意してください)。

<activity
        android:label=""
        android:theme="@style/NoTitleTheme"
        android:name="com.example.bakumovies.MainActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
于 2013-04-03T16:02:40.063 に答える
1

あなたの活動でこれを試しましたか:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
于 2013-04-03T16:04:22.127 に答える
1

スタイルを継承する新しいスタイルを作成しNoTitleます。

<style name="Theme.Splash" parent="@android:style/Theme.NoTitleBar.Fullscreen">
    <item name="android:windowBackground">@drawable/my_splash_logo</item>
</style>

スタイルを適用する新しい SplashActivity クラスを作成します。

<activity
  android:name="SplashActivity"
  android:theme="@style/Theme.Splash"
  android:label="@string/app_name"
  android:icon="@drawable/icon">
  <intent-filter android:label="@string/app_name">
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

SplashActivity で、実際の HomeActivity を開始します。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // possibly use CLEAR_TOP flag here
    startActivity(new Intent(HomeActivity.class));
}

public void onResume() {
    super.onResume();
    Finish();
}

これにより、アプリの起動時にラベルが抑制され、アプリ名がランチャーと最近のアプリに表示され、削除されたために null ref が取得されなくなりますActionBar。これはあなたのすべての基準を満たしていると思います。

于 2013-04-03T18:02:49.877 に答える