【Android】5.0 第5章 常用基本控件--本章示例主界面
分类:C#、Android、VS2015;
创建日期:2016-02-06
这一章主要介绍Android简单控件的基本用法。本章源程序共有9个示例,这些示例都在同一个项目中。
项目名:ch05demos,项目模板:Blank App(Android)
运行主界面截图如下:

点击每行的示例项,即进入对应示例的页面。
1、在drawable文件夹下添加图片
添加的图片见下面的左图,也可以直接拖放图片到drawable文件夹下。
右图是各节例子实现后的纵向屏幕布局文件(layout文件夹)、横向屏幕布局文件(layout-land文件夹)、弹出菜单布局文件(menu文件夹)。这些都是在本章后续将要介绍的节中添加的。

2、主界面(Main.axml)
修改后的代码如下:
<?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">
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listView1" />
</LinearLayout>
3、主界面对应的活动文件(MainActivity.cs)
本章示例全部完成后MainActivity.cs的代码如下:
using System;
using Android.App;
using Android.Widget;
using Android.OS;
using ch05demos.SrcActivity; namespace ch05demos
{
[Activity(Label = "ch05demos", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
string[] items; protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
items = new string[]
{
"Demo01EditText",
"Demo02Login",
"Demo03MultiResolution",
"Demo04CheckBoxRadioButton",
"Demo05Spinner",
"Demo06SwitchAndRatingBar",
"Demo07PopupMenu",
"Demo08Gallery",
"Demo09SeekBar"
};
ListView listView1 = FindViewById<ListView>(Resource.Id.listView1);
listView1.Adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, items);
listView1.ItemClick += (s, e) =>
{
int index = e.Position + ;
switch(index)
{
case :
StartActivity(typeof(Demo01EditText));
break;
case :
StartActivity(typeof(Demo02Login));
break;
case :
StartActivity(typeof(Demo03MultiResolution));
break;
case :
StartActivity(typeof(Demo04CheckBoxRadioButton));
break;
case :
StartActivity(typeof(Demo05Spinner));
break;
case :
StartActivity(typeof(Demo06SwitchAndRatingBar));
break;
case :
StartActivity(typeof(Demo07PopupMenu));
break;
case :
StartActivity(typeof(Demo08Gallery));
break;
case :
StartActivity(typeof(Demo09SeekBar));
break;
}
};
}
}
}
注意:直接定义字符串数组这种方式虽然用法最简单易理解,但并不是最好的办法,下一章再介绍比这个稍微好一点的办法(但仍然不是最好的办法,别着急,一步一步来,要不你没有比较怎么知道哪个好哪个坏呢)。
4、清单文件(AndroidManifest.xml)
在这个文件中只添加了一条内容:设置应用到所有页面的公用主题。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ch05demos.ch05demos" android:versionCode="1" android:versionName="1.0">
<uses-sdk />
<application android:label="ch05demos"
android:theme="@android:style/Theme.DeviceDefault.Light">
</application>
</manifest>
从下一节开始,将分别介绍如何实现各个示例,以及这些示例涉及的相关概念。
【Android】5.0 第5章 常用基本控件--本章示例主界面的更多相关文章
- 【风马一族_Android】第4章Android常用基本控件
第4章Android常用基本控件 控件是Android用户界面中的一个个组成元素,在介绍它们之前,读者必须了解所有控件的父类View(视图),它好比一个盛放控件的容器. 4.1View类概述 对于一个 ...
- 【Android】7.0 第7章 简单适配器和布局--本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-09 修改日期:2016-02-13 一.在AssemblyInfo.cs文件中配置应用程序清单 前面的章节我们说过,除了在And ...
- 【Android】13.0 第13章 创建和访问SQLite数据库—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们 ...
- 【Android】19.0 第19章 前面章节的代码优化及本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-05 一.简介 这一章我们介绍"共享存储和内容提供程序"的基本用法. 二.先优化一下前面章节例子的代码 在前面 ...
- 【Android】17.0 第17章 服务绑定—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-03 一.简介 通过服务绑定(Bound Services),可以轻松实现后台服务与界面(UI)的交互. 二.本章示例主界面 1. ...
- 【Android】12.0 第12章 Intent及其过滤器—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 这一章我们主要学习Intent的基本用法,并通过例子演示如下功能: 如何启动另一个界面: 如何获取另一个界面的返回 ...
- 【Android】11.0 第11章 活动和片段--本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-21 一.简介 这一章我们学习activity和fragment,深入理解activity和fragment的生命周期是如何工作的 ...
- 【Android】16.0 第16章 自定义服务和系统服务—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 本章主要演示Started Service.带Intent过滤器的Started Service.IntentSe ...
- 【Android】15.0 第15章 广播和通知—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-28 一.简介 广播(Broadcast):其功能类似于收音机的广播,你只要调到那个台(只要在接收的类中注册了要接收的广播),就能 ...
随机推荐
- OC 创建单例
static BlockBackground *_sharedInstance = nil; + (BlockBackground*)sharedInstance { if (_sharedInsta ...
- php之快速入门学习-11(数组排序)
PHP 数组排序 数组中的元素可以按字母或数字顺序进行降序或升序排列. PHP - 数组排序函数 在本章中,我们将一一介绍下列 PHP 数组排序函数: sort() - 对数组进行升序排列 rsort ...
- Java从零开始学二十五(枚举定义和简单使用)
一.枚举 枚举是指由一组固定的常量组成的类型,表示特定的数据集合,只是在这个数据集合定义时,所有可能的值都是已知的. 枚举常量的名称建议大写. 枚举常量就是枚举的静态字段,枚举常量之间使用逗号隔开. ...
- python解析发往本机的数据包示例 (解析数据包)
tcp.py # -*- coding: cp936 -*- import socket from struct import * from time import ctime,sleep from ...
- 解决Eclipse里项目名有红叉,但是底下的每一个文件都没有红叉
有这种错误让人很恼火,因为并不知道是哪个文件引起的整个项目错误.所以我们可以打开下边的错误按钮,看看是什么问题. 1.如果是因为java compiler level does not match t ...
- 简单的 Helper 封装 -- SecurityHelper 安全助手:封装加密算法(MD5、SHA、HMAC、DES、RSA)
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...
- Linux系统中用stat命令查看文件的三个时间属性
在Linux中,没有文件创建时间的概念.只有文件的访问时间.修改时间.状态改变时间.也就是说无法知道文件的创建时间. [root@rhel7 yum.repos.d]# stat cdrom.repo ...
- java操作hdfs到数据库或者缓存
使用hadoop工具将数据分析出来以后,须要做入库处理或者存到缓存中.不然就没了意义 一下是使用javaAPI操作hdfs存入缓存的代码: <span style="font-fami ...
- Android Developers:使ListView滑动流畅
流畅滑动ListView的关键是保持应用程序的主线程(UI线程)从免于繁重处理.确保你的任何硬盘访问,网络访问或者SQL访问在一个单独的线程中.为了测试你的应用个程序的状态,你能启动StrictMod ...
- 你的Android不好用,都是因为这几点原因
Android早已是全球最大.用户最多的移动操作系统,不过它离全球最好用还差得很远. 大家随手就能举出些曾经历过的糟心体验,如手机卡顿!电量不禁用!广告弹窗老是出现!不过很少有人会追根寻底的去问为何如 ...