0

我在更改 Main Activity 的名称时遇到问题。我想删除它。作为我使用的第一种方法this.getActionBar().setDisplayShowTitleEnabled(false);。它可以工作,但在 MainActivity 启动之前title出现然后消失。这很烦人,所以我尝试编辑Manifest.xml,但出现了一个有趣的问题。如果我设置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

您可以通过两种方式完成此操作:

最简单的方法是在您的活动的 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();
}

这将具有在应用启动时抑制标签的效果,应用名称将出现在启动器和最近的应用中,由于 removed ,您不会得到空 ref ActionBar。我认为满足您的所有标准。

于 2013-04-03T18:02:49.877 回答