`
xusaomaiss
  • 浏览: 615375 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Android 菜单开发和视图处理

阅读更多
自己动手新增一个工程
 
技巧:默认创建一个类, R.java 不要修改,将 Nodepadv2.java 中对 R import 路径删除,重新通过 Ctrl+shift+O 导入,选择 org.huareal.demo.R[ 具体随不同项目而定 ]
 
如果想改变R.java中的内容,修正res目录下的内容的
其中strings.xml内容修改为
<?xml version= "1.0" encoding= "utf-8" ?>
<resources>
    <string name= "app_name" > GGame </string>
    <string name= "menu_begin" > begin Game </string>
    <string name= "menu_pause" > pause Game </string>
    <string name= "menu_exit" > exit Game </string>
</resources>
其中的menu_begin menu_pause,menu_exit都属于后续添加的。为了使R.java具有上述内容,通过选择project中clean操作,清理对应的工程,R.java将自动更新。
 
该实例中,首先根据练习1中,增加相应的三个菜单,分别对应上述的三个menu
为了显示菜单,通过实现方法:
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // TODO Auto-generated method stub
        //return super.onCreateOptionsMenu(menu);
        
        boolean result = super .onCreateOptionsMenu(menu);
        Log.i ( "info" , "NotePad MenuCreate " );
        menu.add(0, BEGIN_ID , R.string. menu_begin );
        menu.add(0, PAUSE_ID ,R.string. menu_pause );
        menu.add(0, EXIT_ID ,R.string. menu_exit );
        return result;
}
点击每个菜单的操作如下:
@Override
    public boolean onOptionsItemSelected(Item item) {
   
    Log.i ( "info" , "NotePad Menu select " );
   
        switch (item.getId()) {
        case BEGIN_ID :
            beginGame();
                break ;
        case PAUSE_ID :
             pauseGame();
             break ;
        case EXIT_ID :
             exitGame();
             break ;
        default :
             Log.i ( "i" , " 无效的菜单选项 " );
             break ;
        }
       
        return super .onOptionsItemSelected(item);
    }
   
    public void beginGame(){
    Log.i ( "info" , "Begin game " );
    }
    public void pauseGame(){
    Log.i ( "info" , "Pause game" );
    }
    public void exitGame(){
        Log.i ( "info" , "Exit Game" );
System.exit(0);
}
对应变量定义为:
public static final int BEGIN_ID = Menu. FIRST ;
    public static final int PAUSE_ID =2;
    public static final int EXIT_ID =3;
   
    @Override
    public void onCreate (Bundle icicle) {
        super .onCreate(icicle);
        Log.i ( "info" , "NotePad Create" );
        setContentView(R.layout. main );
}
android.util.Log 提供了方便的日志处理 log.i(),log.e(),log.d() 等】
运行程序:
点击菜单效果如下:
点击begin Game 相应日志如下:
点击exit Game
返回主程序
在前例子的onCreate方法中,创建的TextView从默认的main.xml中读取解析。
public void onCreate (Bundle icicle) {
        super .onCreate(icicle);
        Log.i ( "info" , "NotePad Create" );
        setContentView(R.layout. main );
}
此时展示的内容为:
Layout下的main.xml中的东西如:
<TextView  
    android:layout_width= "fill_parent"
    android:layout_height= "wrap_content"
    android:text= " 欢迎使用 ,Gpx Notepad Game..." />
</LinearLayout>
 
根据 setContentView 开支持如下的参数:
void android.app.Activity.setContentView(View view)
Set the activity content to an explicit view.
参数为: View  显示相应的内容 .
 
所以采用 setContentView 的方法进行显示视图
通过自定义 TextView
public TextView getContentTextView(String contentText){
    android.widget.TextView tv= new TextView( this );
    tv.setBackgroundColor(android.graphics.Color. YELLOW );
    tv.setText(contentText);
    return tv;
}
修改 setContentView 的调用方法
this.setContentView(getContentTextView(" 开始自定义 Content Text View"));
运行效果为:
通过 TextView 设置背景颜色【注意 Android 平台中,没有 java.awt.Color ,通过 android.graphics.Color 来替代】
 
针对点击不同的菜单,可以通过 setContentView 来调整需要现实的 View.
public void beginGame(){
    Log.i ( "info" , "Begin game " );
    setContent( "Begin Game..." );
}
public void pauseGame(){
    Log.i ( "info" , "Pause game" );
    setContent( "Pause Game..." );
}
调整视图的方法为:
public void setContent(String contentInfo){
    TextView tv=getContentTextView(contentInfo);
    setContentView(tv);
}
【总结针对,菜单的不同动作,可以调整 ContentView 的显示视图,来完成对视图的调整处理操作】。
分享到:
评论

相关推荐

    android开发中常用的3中菜单

    在Android应用开发中,菜单是用户交互的重要组成部分,它提供了丰富的功能入口,使得用户能够方便地访问和操作应用的不同部分。下面将详细讲解Android开发中常见的三种菜单:选项菜单、子菜单以及上下文菜单。 1. ...

    Android之ListView列表视图实现

    在Android开发中,ListView是展示大量数据的一种常见视图组件,尤其适用于菜单、选项列表等场景。本资源提供了一个完整的Android应用示例,专门讲解如何实现ListView及其交互功能。 首先,ListView的基础在于...

    Android Studio官方版DrawerLayout侧滑菜单

    在Android开发中, DrawerLayout 是一个非常重要的布局组件,它被广泛用于实现应用程序的侧滑菜单功能。这个组件是Google官方Android SDK的一部分,是Android Studio中的一个标准库,因此被称为"Android Studio官方...

    android开发揭秘PDF

    第1章 Android开发简介 1.1 Android基本概念 1.1.1 Android简介 1.1.2 Android的系统构架 1.1.3 Android应用程序框架 1.2 OMS介绍 1.2.1 OPhone介绍 1.2.2 Widget介绍 1.3 小结 第2章 Android开发环境搭建 2.1 ...

    android 月视图与周视图切换日历控件

    - 这个特性允许用户在月视图和周视图之间快速切换,满足不同查看需求。月视图通常显示一个月的所有日期,而周视图则专注于一周内的日期,便于用户查看和规划短期内的活动。 - 实现这个功能的关键在于合理布局和...

    android菜单切换

    总的来说,"android菜单切换"项目涉及到了Android自定义视图、动画、触摸事件处理和几何计算等多个方面,是Android开发中的一个综合性示例。通过深入理解和实践,开发者可以掌握更高级的界面设计技巧,为用户提供更...

    最新最实用的android菜单界面布局

    "最新最实用的android菜单界面布局"指的是采用最新的设计趋势和技术,优化用户体验的Android应用菜单布局。这样的设计不仅能提升应用的美观度,还能提高用户的交互效率。下面我们将深入探讨Android菜单界面布局的...

    android菜单导航

    - `DrawerLayout`是实现侧滑菜单的关键,它作为根布局,可以包含一个主内容视图和一个可滑动的视图(通常是`NavigationView`)。 - 使用`ActionBarDrawerToggle`可以将汉堡图标与`DrawerLayout`关联,实现点击图标...

    Android 系统菜单与自定义菜单

    在Android应用开发中,菜单是用户界面不可或缺的一部分,它提供了用户与应用交互的重要途径。本文将深入探讨Android系统的菜单功能以及如何自定义菜单,结合实际的开发环境XP3、Eclipse IDE、Android 2.2 SDK(JDK ...

    android 菜单

    在Android应用开发中,菜单是用户界面不可或缺的一部分,它提供了便捷的操作入口,使得用户能够轻松访问和执行各种功能。在本教程中,我们将深入探讨如何在Android应用中实现点击触发的下拉菜单栏功能。 首先,我们...

    android 侧滑菜单-实例代码

    在Android应用开发中,侧滑菜单(Slide Menu)是一种常见的设计模式,用于提供导航和功能选项,用户只需从屏幕边缘向内滑动即可显示或隐藏菜单。这种菜单通常被用在许多应用程序中,如Google应用、Facebook应用等,...

    Android多级菜单的简单实现

    首先,我们需要理解Android菜单的基本概念。在Android中,菜单通常通过`Menu`类来实现,它可以在Activity的`onCreateOptionsMenu()`方法中进行定义和填充。然而,对于多级菜单,我们可能需要自定义视图或使用现有的...

    Android开发ListView实现三级菜单

    通过分析和学习这些代码,开发者可以更好地理解和掌握如何在Android中实现三级菜单。 总之,通过巧妙地结合ListView和ExpandableListView,我们可以创建出功能强大的多级菜单。这个过程涉及数据模型设计、Adapter...

    Android圆形旋转菜单.rar

    总的来说,"Android圆形旋转菜单"的实现涉及了Android UI设计、动画处理、事件监听等多个方面,需要开发者具备扎实的Android基础知识和一定的创新思维。通过学习和实践这个项目,开发者可以提升自己的技能,同时为...

    Android Studio 底部自定义菜单

    在Android开发环境中,Android Studio是谷歌官方推荐的集成开发环境(IDE),它为开发者提供了丰富的功能和工具。本文将深入探讨如何在Android Studio中实现底部自定义菜单,并结合"GreatWallApp"这一项目实例,来...

    android侧滑菜单小demo

    在Android应用开发中,侧滑菜单(通常称为抽屉式导航 Drawer Layout)是常见的界面设计元素,它允许用户从屏幕边缘向内滑动以显示一个包含导航选项的菜单。这个"android侧滑菜单小demo"提供了两个实例,帮助开发者更...

    android 扇形菜单(属性动画实现)

    在Android开发中,扇形菜单是一种独特且吸引用户的交互设计,它通过展开一系列扇形的选项来呈现菜单项。本文将深入探讨如何使用属性动画在Android中实现这种效果。 首先,我们要理解Android属性动画系统的基本概念...

    Android自定义侧滑菜单

    在XML布局文件中,使用`DrawerLayout`作为根视图,并添加主要内容视图和侧滑菜单视图。主要内容视图通常会包含`FrameLayout`或`LinearLayout`,而侧滑菜单可以是一个`ListView`、`RecyclerView`或其他自定义视图。 ...

    Android开发仿美团下拉列表菜单

    在Android应用开发中,创建一个类似美团的下拉列表菜单是一项常见的需求,它能为用户提供便捷的操作入口。本文将深入探讨如何实现这样一个功能,并提供一个名为`PopupMenuDemo`的示例代码来帮助开发者理解。 首先,...

Global site tag (gtag.js) - Google Analytics