无法更改标题并无法在操作栏上显示图标
问题描述:
我希望大家都做得很好。这是我在这个有用的网站上的第一个问题。我正在尝试使用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;
}
}
感谢您提前给予任何帮助!
答
好的,您是否使用自定义工具栏?如果不是这样,我会建议先做,添加一个自定义工具栏。它很容易,
- 创建toolbar.xml布局
-
把喜欢的东西作为
<?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);
}