(坚持使用博客园的第一天)Android studio里menu在app里不显示(bar/最上面一横栏/横条)的解决办法。
最近在学习android开发,刚开始一路畅通,后来学到Android里的菜单,发现我怎么都弄不出这个菜单栏来。
就这个黑色的条子:
因为刚开始学,我在网上找了很多很多的教程,尝试了很多很多的办法,都没用,因为android studio版本更新了,用法不一样。没人教,只能上网搜(有谁能体会到这种感觉,而我从学c,学java,学python已经经历过很多次这样无助了),
每天闲下来就去搜,没搜到?那就明天吧。就这样,日复一日,我最终在今天找到了解决办法。
解决办法很简单,真的简单到离谱,但是全网几乎没人说(我这篇文章可能是第一篇)。
创建菜单的示例代码:
1 package com.example.a20240424_menu; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 5 import android.graphics.Color; 6 import android.os.Bundle; 7 import android.widget.TextView; 8 import android.view.MenuItem; 9 import android.view.Menu; 10 public class MainActivity extends AppCompatActivity { 11 12 //1.定义不同颜色的菜单项的标识: 13 final private int RED = 110; 14 final private int GREEN = 111; 15 final private int BLUE = 112; 16 final private int YELLOW = 113; 17 final private int GRAY= 114; 18 final private int CYAN= 115; 19 final private int BLACK= 116; 20 21 private TextView tv_test; 22 23 @Override 24 protected void onCreate(Bundle savedInstanceState) { 25 super.onCreate(savedInstanceState); 26 setContentView(R.layout.activity_main); 27 tv_test = (TextView) findViewById(R.id.tv1); 28 } 29 30 @Override 31 public boolean onCreateOptionsMenu(Menu menu) { 32 // Inflate the menu; this adds items to the action bar if it is present. 33 menu.add(1,RED,4,"红色"); 34 menu.add(1,GREEN,2,"绿色"); 35 menu.add(1,BLUE,3,"蓝色"); 36 menu.add(1,YELLOW,1,"黄色"); 37 menu.add(1,GRAY,5,"灰色"); 38 menu.add(1,CYAN,6,"蓝绿色"); 39 menu.add(1,BLACK,7,"黑色"); 40 return true; 41 } 42 43 @Override 44 public boolean onOptionsItemSelected(MenuItem item) { 45 // Handle action bar item clicks here. The action bar will 46 // automatically handle clicks on the Home/Up button, so long 47 // as you specify a parent activity in AndroidManifest.xml. 48 int id = item.getItemId(); 49 switch (id){ 50 case RED: 51 tv_test.setTextColor(Color.RED); 52 break; 53 case GREEN: 54 tv_test.setTextColor(Color.GREEN); 55 break; 56 case BLUE: 57 tv_test.setTextColor(Color.BLUE); 58 break; 59 case YELLOW: 60 tv_test.setTextColor(Color.YELLOW); 61 break; 62 case GRAY: 63 tv_test.setTextColor(Color.GRAY); 64 break; 65 case CYAN: 66 tv_test.setTextColor(Color.CYAN); 67 break; 68 case BLACK: 69 tv_test.setTextColor(Color.BLACK); 70 break; 71 } 72 return super.onOptionsItemSelected(item); 73 } 74 }
在旧版的android studio里,如果不做任何设置,会正常出现结果。
如果在较新的android studio里,不做任何设置,显示是这样的:
你肯定会问我(这不啥也不弄么,我代码写了和没写不一样么。)
解决办法:
哈哈,问题就出现在这里。我们只需要查看一下我们的AndroidManifest.xml,找到下图这一行
把这里引号里的部分修改为:
再run一下,是不是运行出结果了?