Android记事本【2】

承接上节,我们已经有了一个记事本的入口界面。现在我们想添加个记事。

 

一、首先添加个菜单按钮。

在NotepadActivity中,添加onCreateOptionsMenu函数(默认会生成)。

代码如下:

@Override

publicboolean onCreateOptionsMenu(Menu menu) {

                   super.onCreateOptionsMenu(menu);

                   menu.add(0, INSERT_ID, 0,R.string.create_note);

                   return true;

         }

 

关于Menu的add函数参数说明,可以参照Eclipse的提示,或者查Api手册。

定义INSERT_ID:privatestatic final int INSERT_ID = Menu.FIRST;

在values/string.xml里,定义create_note。

 

这时右键单击工程,Run As --> 1. Android Application,点“Menu”按钮,可以弹出CreateNote菜单了。点击还没有反应。添加onMenuItemSelected函数。

代码如下:

@Override

  publicboolean onMenuItemSelected(int featureId, MenuItem item) {

              switch (item.getItemId()) {

              case INSERT_ID:

                       createNote();

                       return true;

              }

             

              returnsuper.onMenuItemSelected(featureId, item);

     }

onMenuItemSelected的参数说明不再赘述。此时有一个自定义函数createNote(),利用它我们创建一个Intent,启动编辑界面。

代码如下:

private void createNote() {

              Intent i = newIntent(this, NoteEditActivity.class);

              startActivityForResult(i,ACTIVITY_CREATE);

     }

关于Intent像我这样的初学者应该好好看一下。

 

其中的NoteEditActivity.class参数,要求调用一个新的Activity。先放下这个NotepadActivity。


二、创建NoteEditActivity


右键点击包名“com.example.notepad”,选New à class 或者 AndroidActivity都行,后者会少写几行代码。填好名字NoteEditActivity,确定。

继承自Activity类,添加引用文件。

添加onCreate函数。

代码如下:

@Override

public voidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.note_edit);

}

需要我们在layout目录下填加note_edit.xml

note_eidt.xml代码如下:

 

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:background="@color/bgcolor"

    android:orientation="vertical">

 

    <EditText

        android:id="@+id/title"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content">

        <requestFocus/>

    </EditText>

 

    <EditText

        android:id="@+id/body"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_weight="0.5"

        android:inputType="textMultiLine"

        android:gravity="top" />

 

    <Button

        android:id="@+id/confirm"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/confirm"/>

 

</LinearLayout>

 

在values/strings.xml中添加confirm,值随意。


这时右键单击工程,Run As --> 1. Android Application,点“Menu”按钮,可以弹出CreateNote,点击,有报错提示。哪里出了问题?请想一下。


下一节是重头戏,数据的存取,谢谢。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android记事本是一款可以在Android设备上记录和保存文本信息的应用程序。根据提供的引用内容,我可以看到在开发Android记事本应用程序时,需要完成以下几个步骤。 首先,需要修改清单文件,其中包括搭建记事本界面Item布局。在notepad_item_layout.xml文件中,使用LinearLayout作为根布局,并设置其属性如下:宽度和高度都为match_parent,垂直方向排列,左边距为12dp。接下来,在LinearLayout内部添加两个TextView,分别用于显示文本内容和时间。具体设置包括宽度和高度都为match_parent,最多显示两行文本,超出部分以省略号显示,行间距为3dp,上边距为10dp,文本颜色为黑色。时间的TextView设置其文本颜色为#fb7a6a,上边距为5dp,下边距为7dp。 其次,需要了解开发环境的相关信息。在Windows 10系统上开发,使用JDK11和Android 3.5.3作为开发工具,目标API版本为Android API 27。 最后,还需要对项目进行一些界面优化。根据提供的引用内容,可以看到默认的标题栏可能不够美观。为了去掉标题栏,需要在AndroidManifest.xml文件中,在application标签中添加android:theme="@style/Theme.AppCompat.NoActionBar"这一行代码。这样就可以实现去掉标题栏的效果。 综上所述,Android记事本是一款可以记录和保存文本信息的应用程序。在开发过程中,需要修改清单文件和界面布局,并了解开发环境的相关信息。同时,还可以对界面进行优化,去掉默认的标题栏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值