无法更改标题并无法在操作栏上显示图标

问题描述:

我希望大家都做得很好。这是我在这个有用的网站上的第一个问题。我正在尝试使用Android Studio(版本2.2.2)在Android上创建我的第一个应用程序。我似乎无法更改标题或显示我的选项菜单中的图标。下图是它的样子。无法更改标题并无法在操作栏上显示图标

以下是我的strings.xml(有些不习惯):

<resources> 
<string name="app_name">Weekly Duties</string> 
<string name="weekly">Weekly things to do</string> 
<string name="vognormal">Vault of Glass (Normal)</string> 
<string name="stop">Stop Clicking me</string> 
<string name="title_search">Search</string> 
<string name="title_share">Share</string> 

</resources> 

此代码是我activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/app_name" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="hobbiapps.destinyweeklytracker.MainActivity" 
android:showAsAction="always" 
> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/weekly" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<CheckBox 
    android:text="CheckBox" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/checkBox3" 
    android:layout_below="@+id/checkBox1" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" /> 

<CheckBox 
    android:text="@string/vognormal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/checkBox1" 
    android:layout_below="@+id/textView" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="13dp" 
    tools:ignore="UnknownId" /> 


</RelativeLayout> 

这是我main_menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:tools="http://schemas.android.com/tools" 
xmlns:android="http://schemas.android.com/apk/res/android"> 


<item 
    android:id="@+id/settings_id" 
    android:title="Settings" 
    android:orderInCategory="0" 
    android:showAsAction="always" 
    android:icon="@drawable/ic_settings_black_24dp" //icon for settings 
    tools:ignore="AppCompatResource" /> 
<item 
    android:id="@+id/share_id" 
    android:title="Share" 
    android:showAsAction="always" 
    android:orderInCategory="0" 
    android:icon="@drawable/ic_share_black_24dp" //icon for sharing 
    tools:ignore="AppCompatResource" /> 
<item 
    android:id="@+id/about_me_id" 
    android:title="About Me" 
    android:showAsAction="never" 
    tools:ignore="AppCompatResource" /> 

<item 
    android:id="@+id/Contact_Me_id" 
    android:title="Contact Me" 
    android:showAsAction="never" 
    tools:ignore="AppCompatResource" /> 

<item 
    android:id="@+id/search_id" 
    android:title="Search" 
    android:orderInCategory="0" 
    android:showAsAction="always" 
    tools:ignore="AppCompatResource" 
    android:icon="@drawable/ic_search_black_24dp"/> //icon for searching 


</menu> 

最后但并非最不重要的MainActivity.java

package hobbiapps.destinyweeklytracker; 

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

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater menuinflater = getMenuInflater(); 
    menuinflater.inflate(R.menu.main_menu, menu); 
    return true; 
} 
} 

感谢您提前给予任何帮助!

好的,您是否使用自定义工具栏?如果不是这样,我会建议先做,添加一个自定义工具栏。它很容易,

  1. 创建toolbar.xml布局
  2. 把喜欢的东西作为

    <?xml version="1.0" encoding="utf-8"?> 
    <android.support.v7.widget.Toolbar   
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="@color/colorPrimary" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark"> 
    
    </android.support.v7.widget.Toolbar> 
    

那么你要的这几行代码添加到每个页面的XML什么得出使用工具栏

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setTitle(R.string.(YOUR STRING); 
    getSupportActionBar().setIcon(R.mipmap.(YOUR LOGO); 

还有在XML的活动

<include layout="@layout/toolbar" 
     android:id="@+id/seekrToolbar"/> 

然后再在该活动的代码

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.main_menu, menu); 
    return super.onCreateOptionsMenu(menu); 
} 

然后选择项目

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    if (item.getItemId() == R.id.settings_id) { 

    } 
    if (item.getItemId() == R.id.share_id) { 

    } 
    if (item.getItemId() == R.id.about_me_id) { 

    } 
    if (item.getItemId() == R.id.contact_me_id) { 

    } 
    if (item.getItemId() == R.id.search_id) { 

    } 

    return super.onOptionsItemSelected(item); 
}