安卓工作室工具栏自动显示

3

我是一名刚刚从iOS开发转过来的Android开发者。现在我想要做的就是使用api 21启动一个带有基本Toolbar的应用程序。然而,当我这样做时,它会将工具栏添加到另一个看起来相同的栏下面。在移除工具栏后,另一个栏仍然存在。所有的Android应用默认都带有一个带有应用程序名称的工具栏吗?我该如何添加操作/自定义此默认工具栏呢?

以下是我的xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sample_main_layout"></LinearLayout>

以下是我的主要活动:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    //toolbar.setTitle("Groups");
}

}

这是我列出的代码的结果

这就是我项目的全部内容,虽然我已经在网上搜索了一段时间,但每个人都说我应该使用工具栏。如果这不是工具栏,那它是什么呢?对于我的无知,我感到抱歉。

1个回答

2
你应该在样式中设置此项来隐藏默认的ActionBar。
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>

在您的布局中,您可以添加工具栏(ToolBar)

<android.support.v7.widget.Toolbar
    android:id="@+id/main_toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

在活动中
Toolbar toolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar(toolbar);

我忘了提到我在样式中设置了<item name="android:windowNoTitle">true</item>和<item name="android:windowActionBar">false</item>。 <item name="windowNoTitle">是否与<item name="android...">有所不同? - steffeydev
我的AppCombat主题应该是.NoActionBar还是.DarkActionBar? - steffeydev
如果您不想要默认的ActionBar,则应自定义您的样式.NoActionBar,并将其设置为您的活动。 - Ellie Zou
我可以将操作添加到默认操作栏中,还是必须为此创建自己的操作栏? - steffeydev
当然可以。只需添加菜单XML,并重写 onCreateOptionsMenuonOptionsItemSelected 方法。 - Ellie Zou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接