• Android菜单(上下文菜单)(选项菜单)


    菜单资源文件通常放置在res\menu目录下,在创建项目时,默认不自动创建menu目录,所以需要手动创建。Android Resource Directory->value menu

    菜单资源根元素通常是

    标记,子元素为

    标记常用属性:

    android:id 用于为菜单设置ID
    android:title 用于为菜单项设置标题
    android:alphabeticShortcut 用于为菜单项指定字符快捷键
    android:numericShortcut  用于为菜单项指定数字快捷键
    android:icon  用于为菜单项指定图标
    android:enable  用于指定该菜单项是否可用
    android:checkable  用于指定该菜单项是否可选
    android:checked  用于指定该菜单项是否选中
    android:visible  用于指定该菜单项是否可见
    

    标记常用属性:

    android:id 用于为菜单组设置ID
    android:heckableBehavior 用于为指定菜单组选择行为,值可以为 none(不可选) all(多选) single(单选)
    android:menuCategory  用于为指定菜单组进行分类,指定优先级,值可以为container、system、secondary和alternative
    android:enable  用于为指定菜单组中全部菜单项是否可用
    android:visible  用于为指定菜单组中全部菜单项是否可见

    标记中还可以包含

    标记,用于显示子菜单

    标记中可有多个标记,用于组成菜单组

    1. "1.0" encoding="utf-8"?>
    2. <menu xmlns:android="http://schemas.android.com/apk/res/android">
    3. <item android:title="item1">item>
    4. <item android:title="item2">
    5. <menu>
    6. <item android:title="item2-1"/>
    7. <item android:title="item2-2"/>
    8. menu>
    9. item>
    10. <group>
    11. <item android:title="item3"/>
    12. <item android:title="item4"/>
    13. group>
    14. menu>

    1.上下文菜单  长按注册的控件显示菜单

    1. public class MainActivity extends AppCompatActivity {
    2. protected void onCreate(Bundle savedInstanceState) {
    3. ... ...
    4. TextView textView=findViewById(R.id.textView);
    5. //注册上下文菜单 长按注册的控件显示菜单
    6. registerForContextMenu(textView);
    7. }
    8. public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    9. //用于创建菜单(上下文菜单)
    10. MenuInflater menuInflater=new MenuInflater(MainActivity.this);
    11. menuInflater.inflate(R.menu.menu1,menu);
    12. }
    13. public boolean onContextItemSelected(@NonNull MenuItem item) {
    14. //用于选择菜单项(上下文菜单)
    15. int groupId=item.getGroupId();
    16. int itemId=item.getItemId();
    17. if(groupId==R.id.~){
    18. ~
    19. }
    20. if(itemId==R.id.~){
    21. ~
    22. }
    23. return super.onContextItemSelected(item);
    24. }
    25. }

    2.选项菜单(隐藏标题栏将无法使用)  点击标题最右侧三个点显示菜单

    1. public class MainActivity extends AppCompatActivity {
    2. protected void onCreate(Bundle savedInstanceState) {
    3. ... ...
    4. }
    5. public boolean onCreateOptionsMenu(Menu menu) {
    6. //用于创建菜单(选项菜单)
    7. MenuInflater menuInflater=new MenuInflater(MainActivity.this);
    8. menuInflater.inflate(R.menu.menu1,menu);
    9. return super.onCreateOptionsMenu(menu);
    10. }
    11. public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    12. //用于选择菜单项(选项菜单)
    13. int groupId=item.getGroupId();
    14. int itemId=item.getItemId();
    15. if(groupId==R.id.~){
    16. ~
    17. }
    18. if(itemId==R.id.~){
    19. ~
    20. }
    21. return super.onOptionsItemSelected(item);
    22. }
    23. }

  • 相关阅读:
    【LearnOpenGL基础入门——2】搭建第一个OpenGL窗口
    ImageJ软件使用教程(三):目标计数
    HBase2.x(四)HBase API 创建连接
    隐马尔可夫模型(HMM)
    BUU刷题记录
    软件测试技术之如何编写测试用例(5)
    第五十四周总结——WebRTC录制音频
    SpringBoot - WebMvcConfigurer的作用是什么?
    Java错题归纳day10
    同态加密简介HE
  • 原文地址:https://blog.csdn.net/m0_57150356/article/details/132722417