Tom*_*mer 82 java android android-actionbar
我开发了一个简单的演示应用程序,带有启动画面,地图和一些常规屏幕.
我在顶部有一个包含徽标的操作栏.它在我的手机上看起来很好(Galaxy s1 I9000 V2.3)但是当我在Galaxy s2 v4上测试时,操作栏也出现在启动画面和地图屏幕中.
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>
Run Code Online (Sandbox Code Playgroud)
MapActivity定义(这是一个很长的定义,所以我只包括定义):
public class MapActivity extends FragmentActivity implements LocationListener
Run Code Online (Sandbox Code Playgroud)
启动活动:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
Si8*_*Si8 117
在您的活动主题中应用以下内容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>
Run Code Online (Sandbox Code Playgroud)
这应该够了吧.
erl*_*man 111
当你在询问如何隐藏某项活动时; 我认为.hide(); 是你需要的
getSupportActionBar().hide();
Run Code Online (Sandbox Code Playgroud)
要么
getSupportActionBar().hide();
Run Code Online (Sandbox Code Playgroud)
Pra*_*shi 30
1.转到您的manifest.xml文件.
2. Find在activity tag您要隐藏你的动作条,然后add,
机器人:主题= "@风格/ Theme.AppCompat.NoActionBar"
<activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.NoActionBar"
>
Run Code Online (Sandbox Code Playgroud)
rez*_*e08 19
如果你想在没有actionBar和Title的情况下获得全屏.
在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>
Run Code Online (Sandbox Code Playgroud)
并使用manifest.xml活动的样式.
<activity ....
android:theme="@style/AppTheme.NoActionBar" > ......
</activity>
Run Code Online (Sandbox Code Playgroud)
san*_*one 13
在ActionBar通常沿着存在Fragments所以从Activity您可以将其隐藏
getActionbar().hide();
getActionbar().show();
Run Code Online (Sandbox Code Playgroud)
从Fragment你可以做到
getActivity().getActionbar().hide();
getActivity().getActionbar().show();
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Theme.AppCompat.Light,则更好的等价物是Theme.AppCompat.Light.NoActionBar.
我发现使用Theme.AppCompat.NoTitleBar导致我的按钮文本不可见,所以我使用的是Theme.AppCompat.Light.NoActionBar.
<activity android:name=".Activity"
android:label="@string/app_name"
android:theme="@android:style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
小智 6
要隐藏 ActionBar,请将此代码添加到 java 文件中。
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
Run Code Online (Sandbox Code Playgroud)
这适合我!把它放在你的活动清单中
<activity
// ...
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
// ...
</activity>
Run Code Online (Sandbox Code Playgroud)
您还可以在styles.xml中创建自定义主题,如下所示:
<style name="Theme.MyCustomTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name = "android:windowActionBar">false</item>
<item name = "android:windowNoTitle">true</item>
// more custom...
</style>
Run Code Online (Sandbox Code Playgroud)
希望这有帮助.
小智 5
在 AndroidManifest.xml 中的 Activity 主题中应用以下内容:
<activity android:name=".DashboardActivity"
android:theme="@style/AppFullScreenTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
然后在 style.xml 中的样式中应用以下内容
<style name="AppFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
156451 次 |
| 最近记录: |