Android

Android: how to hide ActionBar on certain activities

Android: как скрыть панель действий при определенных действиях

Я разработал простое демонстрационное приложение с заставкой, картой и несколькими обычными экранами.

Вверху у меня есть панель действий, которая содержит логотип. На моем телефоне (Galaxy s1 I9000 версии 2.3.3) все выглядит нормально, но когда я тестирую его на Galaxy s2 версии 4, панель действий появляется также на заставке и на экране карты.

Активность spalsh и map даже не наследуются от ActionBarActivity, так как же это возможно и как я могу убрать это?

Манифест:

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:theme="@style/Theme.AppCompat.Light" >
<activity
android:name=".HomeActivity"
android:icon="@drawable/android_logo"
android:label=""
android:logo="@drawable/android_logo" >

<!--
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
-->
</activity>
<activity
android:name=".MapActivity"
android:label="" >
</activity>
<activity
android:name=".PackageActivity"
android:icon="@drawable/android_logo"
android:label=""
android:logo="@drawable/android_logo" >
</activity>
<activity
android:name=".SplashActivity"
android:label="" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>

Определение MapActivity (оно длинное, поэтому я включил только определение):

public class MapActivity extends FragmentActivity implements LocationListener

Всплывающая активность:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;

public class SplashActivity extends Activity{

private static final long SPLASH_DISPLAY_LENGTH = 2000;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);

new Handler().postDelayed(new Runnable(){
@Override
public void run() {
Intent mainIntent = new Intent(SplashActivity.this,HomeActivity.class);
SplashActivity.this.startActivity(mainIntent);
SplashActivity.this.finish();
}
}, SPLASH_DISPLAY_LENGTH);

}

}
Переведено автоматически
Ответ 1

Поскольку вы спрашиваете о том, как скрыть определенное действие, это то, что вам нужно :

getSupportActionBar().hide(); 
Ответ 2

Примените следующее в вашей теме для действия в AndroidManifest.xml:

<activity android:name=".Activity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Ответ 3

1. Перейдите к своему manifest.xml файлу.

2.Find тот activity tag, для которого вы хотите скрыть панель действий, а затем add ,


android:theme="@стиль / Тема.AppCompat.Нет панели действий"


           <activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"
>
Ответ 4

Если вы хотите получить полноэкранный режим без панели действий и заголовка.

Добавьте это в style.xml

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>

и использовать стиль при выполнении действий из manifest.xml.

<activity ....
android:theme="@style/AppTheme.NoActionBar" > ......
</activity>
java android android-actionbar