我正在尝试为我的android studio项目使用一个AppBar。在build gradle(模块应用)中,它实现了:
com.google.android.material:material:1.1.0-alpha07 [I use this because i want
to use com.google.android.material.textfield.TextInputLayout on my xml/layout
files],
com.android.support.constraint:constraint-layout:1.1.3,
com.android.support.constraint:constraint-layout:1.1.3,
testImplementation 'junit:junit:4.12'.
在MainActivity.Java中:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar1 = findViewById(R.id.toolbar);
}
如果我使用'toolbar.inflateMenu(R.menu.menu_bar);'或'setActionBar();'[setActionBar(工具栏工具栏)],当我运行我的应用程序时,它立即崩溃。 我一直在寻找解决方案,但始终在构建gradle(模块应用)中实现了“ com.android.support:appcompat-v7:28.0.0”。 如果我同时实现了这两个功能,我的应用就会立即崩溃
有人可以帮助我将 toolbar1 设置为ActionBar吗?
这是我的xml文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context="com.example.MainActivity"
<Button
android:id="@+id/B_Back"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:background="@android:color/black"
android:onClick="startsSecondActivity"
android:text="@string/B_Back_name"
android:textColor="@android:color/white"/>
<LinearLayout
android:id="@+id/ll1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:hint="@string/hint">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:text="@string/app_name" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</LinearLayout>
谢谢, 斯伯特。
答案 0 :(得分:0)
Toolbar toolbar1 = findViewById(R.id.toolbar);
仅当在具有id工具栏的xml文件中添加了工具栏时,该工具才起作用。如果要检索默认工具栏,请使用
getSupportActionBar();
如果您想要一个代码示例,我个人更喜欢创建自己的工具栏,请问我或查看此链接https://developer.android.com/training/appbar/setting-up