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

时间:2016-11-10 20:37:22

标签: javascript java android xml android-studio

我希望每个人都做得很好。这是我在这个有用网站上的第一个问题。我正在尝试使用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 个答案:

答案 0 :(得分:0)

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

  1. 创建toolbar.xml布局
  2. 将类似于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>
    
  3. 然后您想要将这些代码行添加到使用工具栏的每个页面

    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);
    }