无法在Android Studio1.3.1中显示右上角的菜单栏

时间:2015-12-21 20:17:45

标签: android css

如果我想要活动栏右上角的菜单栏,请告诉我该怎么做。 我正在使用Android Studio studio 1.3.1 而activity_main.xml设计选择的选项如下: Nexus4 LIght MainActivity 21;

我的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=".MainActivity">
<group android:checkableBehavior="single">
    <item
        android:id="@+id/menu_red"
        android:orderInCategory="1"
        app:showAsAction="never"
        android:title="@string/red_string"/>
   <item
       android:id="@+id/menu_green"
       android:orderInCategory="2"
       app:showAsAction="never"
       android:title="@string/green_string"/>
   <item
       android:id="@+id/menu_yellow"
       android:orderInCategory="3"
       app:showAsAction="never"
       android:title="@string/yellow_string"/>
</group>

我的MainActivity.java文件是:

package abcd.shravankr.basic;

import android.graphics.Color;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem; 
import android.widget.RelativeLayout;


public class MainActivity extends ActionBarActivity {

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

@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.main_view);
    switch (item.getItemId()) {
        case R.id.menu_red:
            if(item.isChecked())
                item.setChecked(false);
            else
                item.setChecked(true);
            main_view.setBackgroundColor(Color.RED);
            return true;
        case R.id.menu_green:
            if(item.isChecked())
                item.setChecked(false);
            else
                item.setChecked(true);
            main_view.setBackgroundColor(Color.GREEN);
            return true;
        case R.id.menu_yellow:
            if(item.isChecked())
                item.setChecked(false);
            else
                item.setChecked(true);
            main_view.setBackgroundColor(Color.YELLOW);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }


}
}

请给我十点,以便我可以在其中插入图像以更清楚地理解问题。

1 个答案:

答案 0 :(得分:0)

试试这个

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="alertDialogTheme">@style/Theme.AppCompat.Light.Dialog.Alert</item>
    <item name="windowActionBar">false</item>
    <item name="actionOverflowButtonStyle">@style/OverFlow</item>
</style>

<style name="OverFlow" parent="Widget.AppCompat.ActionButton.Overflow">
    <item name="android:src">@drawable/overflow</item>
</style>

  

actionOverflowButtonStyle 用于显示自定义溢出菜单图标。

修改::
1.将您的活动类扩展到AppCompactActivity
2.将tollbar添加到xml布局文件中。

    <android.support.v7.widget.Toolbar           
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/toolbar_top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="@android:style/Theme.Light">

    </android.support.v7.widget.Toolbar>
  1. 在onCreate()活动中
  2.   

    工具栏工具栏=(工具栏)findViewById(R.id.toolbar);   setSupportActionBar(栏);