- 浏览: 81919 次
- 性别:
- 来自: 郑州
最新评论
-
老梦a:
...怎么用的呢,我把js和css都引入了,但是用的时候没起作 ...
在Ext的grid里实现带radio单选功能的gridList -
Mydwr:
我也正在找要实现这样的效果
在Ext的grid里实现带radio单选功能的gridList -
kkgoing:
运行不报错,但是还是有问题,index页面打不开,测试的时候插 ...
昨天整理的基于Annotation的MVC框架SSH示例 -
kjsoloho:
感谢你的肺腑之言
价值是如何放大的 -
kjsoloho:
希望继续,期待
《Android程序员指南》翻译暂停,望见谅
这段代码有个问题:onOptionsItemSelected()是一个当任何菜单项被选择时都会调用的普通方法。你需要给onOptionsItemSelected()一种区别菜单项并执行相应代码的方法。因此,使用switch/case声明,来帮助方法选择不同的菜单项。当你创建菜单项时,你指定了从0到5的一些列数字作为菜单项的值。你可以在case声明中调用getId()来区别哪个菜单项背选中了。
switch (item.getId()) {
case 0:
return true;
case 1:
return true;
case 2:
return true;
case 3:
return true;
case 4:
return true;
case 5:
return true;
}
return true;
在这个声明中,每个id的动作都返回true。这除了打开你需要添加代码的区域外,啥也没干。你的AndroidViews.java文件现在已经适合创建爱你新菜单系统能启动的Activity了。AndroidViews.java的全部代码应该看起来像这样:
package android_programmers_guide.AndroidViews;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
public class AndroidViews extends Activity {
/** Called when the Activity is first created. /
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
/** Add one menu item for each View in our project */
menu.add(0, 0, "AutoComplete");
menu.add(0, 1, "Button");
menu.add(0, 2, "CheckBox");
menu.add(0, 3, "EditText");
menu.add(0, 4, "RadioGroup");
menu.add(0, 5, "Spinner");
return true;
}
/** Override onOptionsItemSelected to execute code for each
menu item */
@Override
public boolean onOptionsItemSelected(Menu.Item item){
/** Select statement to handle calls
to specific menu items */
switch (item.getId()) {
case 0:
return true;
case 1:
return true;
case 2:
return true;
case 3:
return true;
case 4:
return true;
case 5:
return true;
}
return true;
}
}
完成AndroidViews.java后,你可以重点创建你的其它Activity。下面的章节中,你会在项目中为每个视图创建一个Activity,并在case声明中添加代码来启动这些视图的Activity。
创建自动完成的Activity
本节,你会创建一个Activity来展示AutoCompleteTextView。AutoCompleteTextView会成为你开发的强大工具。这个视图对充分利用Android有限的主屏空间非常有用。
AutoCompleteTextView,顾名思义,是一个修改过的TextView,当输入一个单词或词组时它会提示一些可能的值。这种视图在移动应用中非常有用,特别当你不想为ListView预留空间,或者将加快向应用中输入文本的进程。
要创建AutoCompleteTextView,你需要添加一个新的.xml布局文件,添加一个.java文代码件,和一个处理通话的Intent 过滤器。
创建一个autocomplete.xml文件
在AndroidView项目中创建一个名为autocomplete.xml的.xml文件。注意文件名必须全部小写。文件会出现在Package Explorer中的layout文件夹。双击文件进行编辑。
这个文件用来控制AutoCompleteTextView Activity的图层,所以你的图层中需要有一个AutoCompleteTextView。添加AutoCompleteTextView的XMl看起来像:
<AutoCompleteTextView android:id="@+id/testAutoComplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
你已经在.xml文件中创建了一些视图,所以你应该熟悉这种格式,AutoCompleteTextView也没啥不同。将id设置为testAutoComplete,将宽与高分别设置为fill_parent和wrap_content。
你也应该为两个按钮添加图层。这些按钮用来控制你改变的属性。将属性命名为autoCompleteTextView和textColorButton,如下:
<Button android:id="@+id/autoCompleteButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change Layout"/>
<Button android:id="@+id/textColorButton"
android:layout_width="fill_parent
android:layout_height="wrap_content"
android:text="Change Text Color"/>
当添加三个视图layout后,最终的autocomplete.xml文件应该看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<AutoCompleteTextView android:id="@+id/testAutoComplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button android:id="@+id/autoCompleteButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change Layout"/>
<Button android:id="@+id/textColorButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Change Text Color"/>
</LinearLayout>
创建一个autocomplete.java文件
参照前面的“创建一个新的.java文件”章节的提示,来创建你的autocomplete.java文件。
你要做的第一件事,就是味你的视图导入包。在这个Activity中,你要用到两个视图,AutoCompleteTextView和Button。你需要用到Colors和igeArrayAdapter。因此在你的Activity中导入如下的包:
package android_programmers_guide.AndroidViews;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.graphics.Color;
为autocomplete.java的AutoComplete类添加初始化结构。
public class AutoComplete extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
}
}
这个类给为你创建Activity的其余部分打下了基础。这个Activity中的所有功能都会给予这个类构建。你要做的第一件事就是从autocomplete.xml中加载图层。
setContentView(R.layout.autocomplete);
该例中,你会创建AutoCompleteTextView,它包含一个月份列表。当用户在框中输入时,它会匹配你要输入的月份。由于AutoCompleteTextView包含了一个月份列表,你需要创建一个能与AutoCompleteTextView相关的列表。创建一个字符串数组,并为它分配月份值:
static final String[] Months = new String[]{
"January","February","March","April","May","June","July","August",
"September","October","Nove mber","December"
};
下个任务就是将字符串数组赋给AutoCompleteTextView。你已经创建了不止一个视图,所以创建AutoCompleteTextView的代码应该非常熟悉。你之前所没见到过的是为视图分配字符串数组的代码:
ArrayAdapter<String> monthArray = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, Months);
final AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.testAutoComplete);
textView.setAdapter(monthArray);
第一行中,你调用了你创建的字符串数组,并将它赋给名为monthArray的ArrayAdapter。
下面的一段代码实例化了两个按钮。这根前面章节中用到的代码相同。唯一的区别是你调用了两个尚未被创建的方法:changeOption和changeOption2。
final Button changeButton = (Button) findViewById(R.id.autoCompleteButton);
changeButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v){
changeOption(textView);
}
});
final Button changeButton2 = (Button)
findViewById(R.id.textColorButton);
changeButton2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v){
changeOption2(textView);
}
});
被这些按钮调用的方法用来改变AutoCompleteTextView上的布局属性。我所选择改变的那两个属性是布局的高和文本的颜色。你会安装这些按钮的某个,将AutoCompleteTextView的布局高度反复改为30和100。另一个按钮用来将视图中文本的颜色改变为红色。
ChangeOption()功能会改变AutoCompleteTextView的布局高度。这个功能的代码非常简单:
public void changeOption(AutoCompleteTextView text){
if (text.getHeight()==100){
text.setHeight(30);
}
else{
text.setHeight(100);
}
}
这个功能中你所做的就是检测AutoCompleteTextView的当前高度。如果高度为100,则将其设置为30,否则设置为100。
ChangeOption2()的功能同样简单:
public void changeOption2(AutoCompleteTextView text){
text.setTextColor(Color.RED);
}
这个功能仅仅将AutoCompleteTextView的文本颜色设置为Color.RED,Color.RED的值从android.graphics.Color包中导入。你可以浏览这个包,改颜色改变为任何值;我选择RED所以它会醒目一些。
你完整的autocomplete.java文件应该看起来像这样:
package android_programmers_guide.AndroidViews;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.graphics.Color;
public class AutoComplete extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.autocomplete);
ArrayAdapter<String> monthArray = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, Months);
final AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.testAutoComplete);
textView.setAdapter(monthArray);
final Button changeButton = (Button)
findViewById(R.id.autoCompleteButton);
changeButton.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v){
changeOption(textView);
}
});
final Button changeButton2 = (Button)
findViewById(R.id.textColorButton);
changeButton2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v){
changeOption2(textView);
}
});
}
static final String[] Months = new String[]{
"January","February","March","April","May","June","July","August",
"September","October","November","December"
};
public void changeOption(AutoCompleteTextView text){
if (text.getHeight()==100){
text.setHeight(30);
}
else{
text.setHeight(100);
}
}
public void changeOption2(AutoCompleteTextView text){
text.setTextColor(Color.RED);
}
}
创建一个Intent过滤器 在你运行这个应用之前你要做的最后一件事就是在AndroidManifes.xml中建立Intent过滤器。然后你就可以从前面图8-1所示的Menu中调用Intent了。Intent过滤器的代码如下所示: <activity android:name=".AutoComplete" android:label="AutoComplete"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
发表评论
-
第八章 列表、菜单以及其它视图——续
2010-03-19 09:00 1453AndroidViews.java 创建这个Activity ... -
第八章 列表、菜单以及其它视图——继
2010-03-19 08:55 1795本节展示radiogroup.xml的全部代码。根据章节前面的 ... -
第八章 列表、菜单以及其它视图——后
2010-03-19 08:50 1429AndroidViews.java 创建这个Activity ... -
第八章 列表、菜单以及其它视图——下
2010-03-19 08:42 1779这里是你的完整的AndroidManifest.xml项目文件 ... -
第八章 列表、菜单以及其它视图——上
2010-03-19 08:31 2594关键技能和概念 l 构建Activity l ... -
第七章 使用Intents与Phone Dialer——下
2010-03-02 09:23 1700实现EditText视图 你需要 ... -
第七章 使用Intents与Phone Dialer——中
2010-03-02 09:16 2671为给你的Activity分配正确的权限,你首先需要知道你需要分 ... -
第七章 使用Intents与Phone Dialer——上
2010-03-02 09:07 3821第一章 使用Intents与Phone Dialer ... -
第六章 使用命令行工具与Android模拟器——下
2010-02-25 16:49 6155由于你在Android服务端安放了应用,你就可以删除它。使用命 ... -
第六章 使用命令行工具与Android模拟器——中
2010-02-25 16:38 5407<arg value="install&quo ... -
第六章 使用命令行工具与Android模拟器——上
2010-02-25 16:25 4575关键技能和概念 l 使用Android SDK ... -
第五章 应用:Hello World!——下
2010-02-24 09:07 2666还是Hello World! 本节中,你会创建另一个 ... -
第五章 应用:Hello World!——上
2010-02-24 09:00 2375关键技能和概念 l ... -
第四章 探索Android SDK
2010-02-21 22:27 6208关键技能和概念 l ... -
第三章 下载、安装Android SDK
2010-02-20 16:19 6708关键技能和概念 l ... -
第二章 下载、安装Eclipse
2010-02-20 11:28 5365关键技能和概念 l 选择一个开发环境 l ... -
第一章 Android是什么?
2010-02-20 11:17 2073关键技能和概念 l 嵌入式编程的历史 l ... -
致谢与序言
2010-02-05 16:12 1332致谢 感谢所有参与编写这本书的人,我的经纪 ... -
为什么要翻译《Android A Programmer's Guide》——《Android程序员指南》
2010-02-05 16:08 2892学习Android编程,却发现这些方面的好书很少,于是 ...
相关推荐
第八章 本篇复习——控制台应用程序和长文件名 第二篇:字体和窗口控制 第九章 第八天课程——Windows 动画:Snake 游戏 第十章 第九天课程——字体基础知识 第十一章 第十天课程——窗口控制 第十二章 第十...
总的来说,本视频教程的第8章详细介绍了Word 2010中的视图和窗口操作,旨在提升用户在处理复杂文档,尤其是对比员工规章制度文档时的工作效率。通过学习和实践,用户不仅可以熟练掌握各种视图的切换与应用,还能精通...
第8章:利用CDC实现绘图程序.ppt 第9章:Windows应用程序引擎——消息映射.ppt 第10章:用户交互对象——菜单、工具栏和状态栏.ppt 第11章:对话框及常用控件.ppt 第12章:基于文档/视图结构的程序.ppt 第13章:...
第8章Android应用程序组成 8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇...
第8章Android应用程序组成 8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇...
在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...
Photoshop CS4中文版完全自学视频教程专注于讲解这一版本中的新增功能,特别是3D图像处理技术,这在之前版本的Photoshop中是一个显著的提升。3D图像处理为设计师和艺术家提供了更广阔的设计空间,使其能够创建出更具...
- **第八章:FAQ** —— 提供了常见问题解答,帮助解决用户在使用过程中遇到的技术难题。 #### 三、版权与免责声明 文档开头部分详细阐述了GBaseDataStudio管理工具手册的版权信息和法律声明。这些声明强调了文档...
8. **第八章:菜单和工具栏** —— 教授如何构建自定义菜单和工具栏,提升应用程序的用户体验。 9. **第九章:类和对象** —— 探索面向对象编程,理解类和对象的概念,以及如何在VFP中实现封装、继承和多态。 10....
本教程的第一章“感受UGNX7精彩世界——UGNX7入门”是整个学习旅程的起点,主要涵盖了以下几个关键知识点: 1. **UG NX 7.0简介**:介绍UG NX 7.0的基本功能和在工业设计中的重要性。这一版本引入了许多新特性,如...
7. **视图管理**:在UG NX 7.0中,理解和掌握视图的创建、移动、旋转以及关联方式,有助于清晰地展示设计意图,便于沟通和审查。 8. **层管理**:通过层管理,可以组织模型的不同部分,使其在设计和显示时更加有序...
第8章 使用ActiveX控件 第9章 Internet Explorer 4通用控件 第10章 win32内存管理 第11章 位图 第12章 windows消息处理和多线程编程 第三部分 文档视图结构 第13章 菜单、键盘、加速键、多信息 第14章...
- **第8章:按钮和复选框**(Buttons and CheckBoxes)——探讨不同类型的交互按钮组件及其使用场景。 - **第9章:列表和组合框**(Lists and ComboBoxes)——讨论列表和下拉列表组件的使用技巧。 - **第10章:...
微信小程序点餐系统是当前移动互联网时代餐饮业中常见的技术应用,它利用微信小程序平台,为用户提供便捷的在线点餐服务。本项目实战教程将深入探讨如何开发这样一个系统,涵盖从设计、编码到上线的全过程。 一、...
在本教程中,我们将深入探讨如何使用Microsoft Excel 2010中文版来制作一份专业且实用的公司值班表。Excel作为一款强大的电子表格软件,不仅适用于数据处理和分析,还可以帮助我们创建各种类型的文档,如值班表。...
可以通过在工具——> 选项 —— > 视图——> 格式标记,选中全部,然后删除分页符。 十三、Word 中下标的大小可以改的吗 可以通过格式 —字体。 十四、Word 里怎么自动生成目录啊 可以通过用 ―格式 >> 样式和...
在侧滑菜单的实现中,它被用来控制菜单视图的滑动逻辑,包括滑动开始、滑动过程以及滑动结束的回调。 5. **自定义ViewGroup**: 实现侧滑菜单通常需要自定义一个`ViewGroup`,例如继承`FrameLayout`或`...
可以通过步骤如下:切换到普通视图,菜单中“视图 ” ——“脚注 ” ;在尾注的下拉菜单中选择“尾注分隔符 ”,这时那条短横线出现了,选中它,删除;再在下拉菜单中选择“尾注延续分隔符”,这是那条长横线出现了...
8. **工作流程和用户界面**:熟悉UG NX的工作环境,了解菜单、工具栏、快捷键的使用,以提高建模效率。 通过观看本视频教程,学习者不仅能掌握UG NX 7.0的基本操作,还能了解工业设计中的典型工作流程,提升创新...