isual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍

原文 isual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍

前言

不同于iOS, Xamarin 在Visual Studio中针对Android, 可以直接设计使用者介面. 在本篇教学文章中, 笔者会针对Android的专案目录结构以及基本控制项进行介绍, 包含TextView, EditView, Toggle/ Switch以及Seekbar控制项.

Android专案目录结构

在Visual Studio建立Android 应用程式专案后, ??在方案总管中会看到如下图的目录结构:

Assets:放置在Assets资料夹中的档案,将会一起被封装进Android的封装档中(建置动作要设定为"AndroidAsset").之后便可以透过如下的陈述式来存取Assets的资源。

1 <span class="notranslate" onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">public class ReadAsset : Activity</span> public class ReadAsset : Activity</span>
2  
3 <span class="notranslate" onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">{</span> {</span>
4  
5 <span class="notranslate" onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">protected override void OnCreate (Bundle bundle) {</span> protected override void OnCreate (Bundle bundle) {</span>
6  
7 <span class="notranslate" onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">base.OnCreate (bundle);</span> base.OnCreate (bundle);</span>
8  
9 <span class="notranslate" onmouseover="_tipon(this)" onmouseout="_tipoff()"><span class="google-src-text" style="direction: ltr; text-align: left">InputStream input = Assets.Open ("my_asset.txt");}}</span> InputStream input = Assets.Open ("my_asset.txt");}}</span>

Resources :包含Drawable, Layout以及Values ??资料夹. Drawable用来放置图片.依照装置的解析度不同,还可以新增drawable-hdpi, drawable-mdpi, drawable-ldpi等资料夹来存放不同解析度的档案. Layout资料夹则是存放使用者介面档(副档名为.axml). 而Value资料夹则是可以存放不同型别的XML对应档, 例如styles.xml, colors.xml… 针对Resources底下的档案,建置动作请设定为”AndroidResource”

若您开启预设的Main.axml, 会看到如同底下的XML描述

  • LinearLayout: 主要的页面框架, 以垂直或水平的方式排列页面上的物件, 相当于Silverlight 中的stack panel
  • @+id/[物件名称]: 告诉Android parser, 为物件建立一个resource id
  • @string/[名称]: 在String.xml中建立一个字串资源, 后续可供Resource类别存取.

上述的@string则会对应到资料夹Resources\Values??\String.xml

 

  • 名称Hello对应到UI中Button的Text属性
  • 名称ApplicationName对应到专案属性中的应用程式名称
  • 名称Hello2为自行定义的字串资源.

有了以上的基本概念后, 接下来我们来介绍Android的基本控制项。

 

TextView

1. 开启Lab03-BasicControls 专案并开启Layout资料夹下的TextView.axml

 

2. 从左边的工具列将TextView拖放到画面中, 双击TextView并编辑文字

 

3. 接着拖拉一个TextView, 并在右边的属性视窗设定textcolor为#2A3748, textsize为24dip

 

4. 再拖拉一个TextView并输入文字, 包含一个超连结. 在属性中将autolink的属性值改为web.

结果如下:连结文字会自动变成超连结.

 

5. 最后拖拉一个TextView并输入文字, 包含超过5位数的数字, 在属性中将autolink的属性值改为phone

结果如下: 数字被更改为超连结

 

6. 开启TextViewScreen.cs 并在OnCreate 事件中载入Layout中的TextView

SetContentView(Resource.Layout.TextView);

时间: 2024-11-08 02:44:50

isual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍的相关文章

Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍

原文 Visual Studio跨平台开发实战(2) - Xamarin.iOS基本控制项介绍 前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iOS的专案目录架构以及基本控制项进行说明. 包含UIButton,, UISlider, UISwitch, UIImage以及UIWebView控制项. iOS的使用者介面描述档, 其副档名为.xib, 目前在Visual Studio尚未支援直接编辑. 因此在文章中, 我们会先用Xamarin S

Visual Studio跨平台开发(2):Xamarin.iOS基本控制项介绍

前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iOS的专案目录架构以及基本控制项进行说明. 包含UIButton,UISlider,UISwitch, UIImage以及UIWebView控制项. iOS的使用者界面描述文档, 其副文档名为.xib, 目前在Visual Studio尚未支持直接编辑. 因此在文章中, 我们会先用Xamarin Studio建立专案, 并使用XCode中的Interface Builder布置我们所需的控制项后

Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发

原文 Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发 前言 大部份的Andr??oid 都具有实体或虚拟的Back键. 因此在处理多页面应用程式时, 与先前所介绍的iOS Navigation controller 比较起来会简单许多. 1. 开启Visual Studio 并新增Android Application 专案并命名为Lab4-MultiScreen   2. 在Layout资料夹中新增Second.axml   在Second

Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发

原文 Visual Studio跨平台开发实战(3) - Xamarin iOS多页面应用程式开发 前言 在前一篇教学中, 我们学会如何使用Visual Studio 搭配Xcode 进行iOS基本控制项的操作. 但都是属于单一画面的应用程式. 这次我们要来练习如何透过Navigation Controller来建立多页面的iOS应用程式. 设定专案及画面 1. 开启Xamarin Studio 并建立新专案, 专案类型为iOS=>iPhone=>空白专案, 专案名称为02-Navigatio

Visual Studio跨平台开发实战(1) - Hello Xamarin!

原文 Visual Studio跨平台开发实战(1) - Hello Xamarin! 前言 应用程式发展的脚步, 从来没有停过. 从早期的Windows 应用程式, 到网路时代的web 应用程式, 再到近几年相当盛行的行动装置应用程式(Mobile Application), 身为C#的开发人员与Visual Studio的使用者. Windows Phone与Windows Store App的开发是否已满足不了你了呢? 如果能够让你使用C#及Visual Studio 来开发iOS及And

Visual Studio跨平台开发(1):Hello Xamarin!

前言 应用程序发展的脚步, 从来没有停过. 从早期的Windows 应用程序, 到网络时代的web 应用程序, 再到近几年相当盛行的行动装置应用程序(Mobile Application), 身为C#的开发人员与Visual Studio的使用者. Windows Phone与Windows Store App的开发是否已满足不了你了呢? 如果能夠让你使用C#及Visual Studio 来开发iOS及Android的app. 是否能再度唤醒你的开发魂? Xamain 正是为了这样的需求而诞生的

浅谈移动应用的跨平台开发工具(Xamarin和React Native)

谈移动应用的跨平台开发不能不提HTML5,PhoneGap和Sencha等平台一直致力于使用HTML5技术来开发跨平台的移动应用,现在看来这个方向基本算是失败的,基于HTML5的移动应用在用户体验上与原生应用仍然存在着明显的差距. 与上述HTML5平台不同,Xamarin和React Native通过各自的方式来实现跨平台.Xamarin基于Mono框架将C#代码编译为原生平台代码,React Native则是在UI主线程之外运行一个JavaScript线程,两者呈现给用户的都是原生体验. 笔者

跨平台开发实战系列篇-开篇

本系列文章将带着你从React Native入门到精通React Native开发,包括大型电商项目实战.大型新闻项目实战(一套代码运行在iOS平台和Android平台).持续更新中...... 一.前言 React Native于F8大会开源,在短短不到一年的时间里,它成为手机端必不可少的开发模式之一. 它充分利用了Facebook现有的业务轮子, 其核心设计理念:既拥有Native的用户体验.又保留React的开发效率, 也就是"learn once,write everywhere&quo

用c#开发安卓程序 (xamarin.android)

作为c#程序员,没有精力和激情去学习java了,又遇到一些项目需要开发手机端,于是我们的networkcomms2.3.1网络通讯框架又要出场了,是的,这是一款来自英国的网络通讯框架,由c#语言编写,其在编写时根据不用的应用环境,写了不同的代码,支持安卓,平果,winphone等平台开发. 找了一个类大家看看他的书写方法 ,使用预编译语句,编写针对不同系统的代码 1 public static class NetworkComms 2 { 3 /// <summary> 4 /// Stati