0

这是我的第一个Android应用程序,我试图在顶部添加Actionbar,但我似乎无法使其工作。我所得到的是一个空白的蓝色横条,没有标题,也没有溢出菜单。为了创建这个,我使用了这里找到的说明http://developer.android.com/training/appbar/index.html,但即使遵循T的说明,它似乎也不起作用。即使我没有收到编译错误,我想知道我是否做错了什么?第一个Android应用程序的空白Actionbar

MainActivity.java

package com.caseybowman.studdybuddy; 
 

 
import android.os.Bundle; 
 
import android.support.v7.app.AppCompatActivity; 
 
import android.support.v7.widget.Toolbar; 
 
import android.view.Menu; 
 
import android.view.MenuItem; 
 
import android.widget.RelativeLayout; 
 

 
public class MainActivity extends AppCompatActivity { 
 

 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.activity_main); 
 
     Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
 
     setSupportActionBar(myToolbar); 
 
    } 
 

 
    @Override 
 
    public boolean onCreateOptionsMenu(Menu menu) { 
 
     // Inflate the menu; this adds items to the action bar if it is present. 
 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
 
     return true; 
 
    } 
 

 
    @Override 
 
    public boolean onOptionsItemSelected(MenuItem item) { 
 
     RelativeLayout main_view = (RelativeLayout) findViewById(R.id.Semesters); 
 

 
     switch(item.getItemId()){ 
 
      case R.id.add: 
 
       //do something 
 
       return true; 
 
      case R.id.edit: 
 
       return true; 
 
      case R.id.settings: 
 
       return true; 
 
      default: 
 
       return super.onOptionsItemSelected(item); 
 
     } 
 
    } 
 
}

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
 
    xmlns:tools="http://schemas.android.com/tools" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" 
 
    android:fitsSystemWindows="true" 
 
    tools:context="com.caseybowman.studdybuddy.MainActivity"> 
 

 
    <android.support.v7.widget.Toolbar 
 
     android:id="@+id/my_toolbar" 
 
     android:layout_width="match_parent" 
 
     android:layout_height="?attr/actionBarSize" 
 
     android:background="?attr/colorPrimary" 
 
     android:elevation="4dp" 
 
     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 
 

 
    <RelativeLayout 
 
     android:layout_width="match_parent" 
 
     android:layout_height="match_parent" 
 
     android:id="@+id/Semesters"> 
 

 
    </RelativeLayout> 
 

 

 

 
</android.support.design.widget.CoordinatorLayout>

menu_main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
 
    xmlns:tools="http://schemas.android.com/tools" 
 
    tools:context="com.caseybowman.studdybuddy.MainActivity"> 
 
    <item 
 
     android:id="@+id/add" 
 
     android:orderInCategory="100" 
 
     android:title="@string/Add" 
 
     app:showAsAction="ifRoom|withText" /> 
 
    <item 
 
     android:id="@+id/edit" 
 
     android:orderInCategory="100" 
 
     android:title="@string/Edit" 
 
     app:showAsAction="IfRoom|withText" /> 
 
    <item 
 
     android:id="@+id/settings" 
 
     android:orderInCategory="100" 
 
     android:title="@string/Settings" 
 
     app:showAsAction="IfRoom|withText" /> 
 
</menu>

回答

0

尝试添加该代码

getSupportActionBar().setTitle("Your Title"); 

或者您也可以通过定义工具栏里面一个TextView的自定义工具栏和分配您的标题是这样的。

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

    <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Your Title"/> 

</android.support.v7.widget.Toolbar> 
+0

使用您的代码,我能发现它是工作,我太沮丧,注意到我一直在寻找在错误的地方。谢谢。 –

+0

如果您发现有用的答案,请注意观看 –

0

试试这个

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/id_appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/id_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways" /> 

    </android.support.design.widget.AppBarLayout> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

    </RelativeLayout> 

</android.support.design.widget.CoordinatorLayout> 
相关问题