Android Studio 1.5在动作栏折叠时创建新活动

时间:2015-12-10 03:11:29

标签: android-studio android-actionbar

刚刚将我的android工作室更新为1.5.1并决定创建新项目。我创建了新的Blank Activity,其中包含浮动操作栏。我甚至没有触摸代码,然后在我的设备上运行(asus zenfone 4)。

actionbar

然后我意识到我的动作栏效果不佳。它崩溃了。这是我设备的错误吗?或者我错过了一些编辑我的style.xml?

这是我的styles.xml,它来自android studio的烤箱。

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

</resources>

这是我在清单上的活动声明

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

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

这实际上是android studio给我的onCreate方法

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show();
    }
});

1 个答案:

答案 0 :(得分:0)

如果你不想在onCreate的NextActivity.java中的下一个活动中显示actionBar,请添加以下代码:

 android.support.v7.app.ActionBar actionBar = getSupportActionBar();
 actionBar.hide();
通过这种方式,您不会冒任何xml错误的风险,这可能会导致您的应用崩溃