摘要: 回顾前面的几篇,我们都是直接在代码中添加菜单项,给菜单项分组等,这是比较传统的做法,它存在着一些不足。比如说,为了响应每个菜单项,我们需要用常量来保存每个菜单项的ID等。为此,Android提供了一种更好的方式,就是把menu也定义为应用程序的资源,通过android对资源的本地支持,使我们可以更方便地实现菜单的创建与响应。这一篇就介绍如何使用XML文件来加载和响应菜单,我们需要做这几步:在/res目录下创建menu文件夹在menu目录下使用与menu相关的元素定义xml文件,文件名是随意的,android会自动为其生成资源ID。例如:R.menu.mainmenu对应menu目录的mainm 阅读全文
posted @ 2013-01-11 18:28 merryjd 阅读(246) 评论(0) 推荐(0)
摘要: 之前在《Android菜单详解(二)——创建并响应选项菜单》和《Android菜单详解(三)——SubMenu和IconMenu》中详细讲解了选项菜单,子菜单和图标菜单。今天接着细说另一种被广泛使用的菜单——上下文菜单Context Menu。ContextMenu简介在Windows中,我们已经习惯了在文件上单击右键来执行“打开”、“重名名”、“剪切”、“删除”等操作,这个右键弹出的菜单就是上下文菜单。你可能会笑道:“哈哈,你不会连快捷键都不会用吧?”。咳咳,这个。。。举个例子嘛。没错,windows中快捷键能帮助我们提高操作的效率,但是android中这招可不管用喽,注意:android的 阅读全文
posted @ 2013-01-11 18:25 merryjd 阅读(259) 评论(0) 推荐(0)
摘要: 我们在上一篇介绍了如何在Android中创建和响应选项菜单,今天我们将探索子菜单和图标菜单。子菜单Sub Menu子菜单提供了一种自然的组织菜单项的方式,它被大量地运用在windows和其他OS的GUI设计中。Android同样支持子菜单,你可以通过addSubMenu(int groupId, int itemId, int order, int titleRes)方法非常方便的创建和响应子菜单。@Overridepublicboolean onCreateOptionsMenu(Menu menu) { int base = Menu.FIRST; // 一个menu可以包括多... 阅读全文
posted @ 2013-01-11 18:23 merryjd 阅读(327) 评论(1) 推荐(0)
摘要: 创建options menu之前提到,Android的activity已经为我们提前创建好了android.view.Menu对象,并提供了回调方法onCreateOptionsMenu(Menumenu)供我们初始化菜单的内容。该方法只会在选项菜单第一次显示的时候被执行,如果你需要动态改变选项菜单的内容,请使用onPrepareOptionsMenu(Menu)。@Overridepublicboolean onCreateOptionsMenu(Menu menu) { // 调用父类方法来加入系统菜单 // 虽然目前android还没有系统菜单,但是为了兼容到以后的版本,最好... 阅读全文
posted @ 2013-01-11 18:17 merryjd 阅读(284) 评论(0) 推荐(0)
摘要: Android SDK提供的菜单有如下几种:1.选项菜单:最常规的菜单,android中把它叫做option menu 当Activity在前台运行时,如果用户按下手机上的Menu键,此时就会在屏幕低端弹出相应的选项菜单。但这个功能需要开发人员编程来实现的,如果在开发应用程序时没有实现该功能,那么程序运行时按下手机的meun 键是不会起作用的。 对于携带图标的选项菜单,每次最多只能显示6个,当菜单选项多于6个时,将只显示前5个和一个扩展菜单选项,点击扩展菜单选项将会弹出其余的菜单项。扩展菜单项中将不会显示图标,但是可以显示单选按钮和复选框。2.子菜单:android中点击子菜单将弹出悬浮... 阅读全文
posted @ 2013-01-11 18:06 merryjd 阅读(1454) 评论(0) 推荐(0)
摘要: eclipse中看到红色之后引用外部包快捷键:Ctrl+shilf+O 阅读全文
posted @ 2013-01-11 17:56 merryjd 阅读(201) 评论(0) 推荐(0)
摘要: 只要用快捷键Ctrl+L 阅读全文
posted @ 2013-01-11 17:55 merryjd 阅读(250) 评论(0) 推荐(0)
摘要: editText.addTextChangedListener(new TextWatcher() { private CharSequence temp; private boolean isEdit = true; private int selectionStart ; private int selectionEnd ; @Override public void beforeTextChanged(CharSequence s, int arg1, int arg2, int arg3) { temp = s; } @Override public void onTextChange 阅读全文
posted @ 2013-01-11 16:27 merryjd 阅读(382) 评论(0) 推荐(0)
摘要: EditText在android开发中是一个经常用到的基础控件,功能也很强大,限制输入字符类型,字数什么的。但是最近在工作中遇到了需要控制editText最大可输入行数的要求。这个功能控件本身没有提供,EditText.setMaxLines函数只能控制控件的最大可视高度并不符合要求。要实现控制最大可输入行数势必要用到addTextChangedListener去监听控件中文本的变化,需要实现的函数有三个:public void beforeTextChanged(CharSequence A, int B, int C,int D)public void onTextChanged(Char 阅读全文
posted @ 2013-01-11 16:24 merryjd 阅读(821) 评论(0) 推荐(0)
摘要: 【方案一:腾讯微博】每个中文字符算一个字数,每两个英文字符算一个字数,当用户输入内容时,实时显示剩余的字数,当超出字数限制时,剩余字数显示为负数,但此时用户仍然可以继续在EditText中输入内容,直到用户点击菜单中的“发送”按钮时,才会弹出对话框或者Toast显示用户输入的字数超标,如下图所示:这个方案实现起来很简单,只需要给EditText设置TextWatcher监听器,然后判断输入的是中文字符还是英文字符,实时更新剩余输入字数显示即可,不需要限制EditText的输入。【方案二:百度旅游】中英文字符都算一个字数,当用户输入内容时,实时显示剩余的字数,当超出字数限制时,剩余字数显示为0, 阅读全文
posted @ 2013-01-11 16:21 merryjd 阅读(730) 评论(0) 推荐(0)
摘要: Android 中的EditText最大可输入字符数可以通过xml文件中为EditText设置maxLength属性或者在代码中为EditText设置LengthFilter来设置。例如要设置EditText只能输入10个字符xml中:view plain<EditTextandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/mEdit"android:maxLength="10"/> 阅读全文
posted @ 2013-01-11 15:12 merryjd 阅读(849) 评论(0) 推荐(0)
摘要: Window-->Preferences-->General-->Appearance-->ColorsandFonts-->Basic-->TextFont-->edit如果在新版eclipse中中文注释明显小于代码大小,可以将字体Consolas,改为CourierNew 阅读全文
posted @ 2013-01-11 13:06 merryjd 阅读(1357) 评论(0) 推荐(0)