我已阅读了有关AppCompat库及其所有功能的工具栏。有些我已经在Android开发者博客(here)注意到的一件事情是:ActionBar vs工具栏或ActionBar和工具栏
工具栏在程序兼容性完全支持并具有功能并与框架部件API平价 。
他们还提到我们可以对其外观和外观有更多的控制权。
但是,当我在Android Studio中添加活动我得到这个:
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar_add_contacts"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
下面的工具栏里面AppBar。 (ActionBar和AppBar是一样的,不是吗?)那有什么用。在一些博客中,我还读到了AppBar可以替换为设计支持库的工具栏。
通常情况下,您会在工具栏后获得content_layout。所以我们将在工具栏之后的下面有一行。
<include layout="@layout/content_myactivity" />
所以,一旦我有一个问题,即含量高于工具栏(仅用于工具栏,内部没有appbar)隐藏工具栏整体,仍然点击。所以我不得不将代码中的工具栏移动到我的内容下方,以使其显示在我的内容上方。
那么,使用什么?工具栏? AppBarLayout? AppBarLayout内的工具栏?
每一个的用途是什么?
UPDATE:
所以我已经在activity_layout文件中添加工具栏。那么为什么需要使用setSupportActionBar(toolbar);
来设置工具栏和添加主题AppTheme.NoActionBar
。这是Android Studio中所有活动的正常行为。
什么用禁用与
<item name="windowActionBar">false</item>
窗口操作栏,并设置setSupportActionBar(toolbar)
呢?
这是一个我所见过的最好的问题。来自10多年的专业开发,并与许多编程语言和框架合作,我不得不说,Android的架构和设计真的是一个痛苦的屁股。很多时候,我问自己不可能事情变得更容易,或更清洁?我爱你的问题,因为要问“为什么”是知识的一个非常重要的方面,所以SO不会发生那么多。 –
@SaeedNeamati谢谢:) – kirtan403
@SaeedNeamati我很赞同你! android开发真的很糟糕。 – kokabi