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

前言

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

Android专案目录结构

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

clip_image001

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

1 <spanclass="notranslate"onmouseover="_tipon(this)"onmouseout="_tipoff()"><spanclass="google-src-text"style="direction: ltr; text-align: left">publicclassReadAsset : Activity</span>publicclassReadAsset : Activity</span>
2
3 <spanclass="notranslate"onmouseover="_tipon(this)"onmouseout="_tipoff()"><spanclass="google-src-text"style="direction: ltr; text-align: left">{</span> {</span>
4
5 <spanclass="notranslate"onmouseover="_tipon(this)"onmouseout="_tipoff()"><spanclass="google-src-text"style="direction: ltr; text-align: left">protectedoverridevoidOnCreate (Bundle bundle) {</span>protectedoverridevoidOnCreate (Bundle bundle) {</span>
6
7 <spanclass="notranslate"onmouseover="_tipon(this)"onmouseout="_tipoff()"><spanclass="google-src-text"style="direction: ltr; text-align: left">base.OnCreate (bundle);</span>base.OnCreate (bundle);</span>
8
9 <spanclass="notranslate"onmouseover="_tipon(this)"onmouseout="_tipoff()"><spanclass="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描述

clip_image002

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

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

clip_image004

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

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

TextView

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

clip_image005

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

clip_image007

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

clip_image008

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

clip_image009

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

clip_image010

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

clip_image011

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

clip_image012

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

SetContentView(Resource.Layout.TextView);

更多相关文章

  1. 【Android】TextView常用属性
  2. Android属性之build.prop,及property_get/property_set && Androi
  3. Android的RelativeLayOut中各种属性的作用

随机推荐

  1. 完整的二进制安装Kubernetes高可用集群
  2. MySQL工作常用命令
  3. 自动化测试用例失败继续执行
  4. 干货--MySQL工作常用Select命令
  5. Playbook分发Nginx配置文件
  6. 软件测试和开发比例
  7. 自学软件测试 - 自动化测试篇
  8. Mysql二进制日志binlog命令
  9. ansible条件判断和循环
  10. 2021-03-12:go中,如何确定有没有内存泄露,系