1,自定义虚拟键盘

当一个用户被要求在一个文本框输入时希望又怎样的体验?  从用户需求来看,虚拟键盘应该改变以帮助用户输入的数据。这里是一些例子:

  • 如果一个视图是一个电子邮件地址,一个键盘的“@”符号容易应显示。
  • 如果一个视图是用于Web地址,一个键盘。COM”按钮将是一个好主意。
  • 如果一个视图是用于数字输入,键盘的数字应该显示给用户。

2,利用地理位置定位服务获取用户地址

有些表单会要求用户填写地址,在这种情况下,应用程序将打开位置管理器获取当前设备的纬度和经度,然后使用反向地理编码获取当前地址。最后将生成的地址在EditText视图。

//当前Activity实现接口ILocationListener
public class MainActivity : Activity, ILocationListener //--------------------------获取地址--------------------------------
public void OnLocationChanged(Location location)
{
GetAddress(location.Latitude, location.Longitude);
} void GetAddress(double lat, double lon)
{
try
{
EditText city=FindViewById<EditText>(Resource.Id.City);
IList<Address> a;
Geocoder geocoder = new Geocoder(this, Java.Util.Locale.Default);
a = geocoder.GetFromLocation(lat, lon, 10);
if (a != null && a.Count > 0)
{
var firstAddress = a[0];
var addressLine0 = firstAddress.GetAddressLine(0);
var locality = firstAddress.Locality;
var postalCode = firstAddress.PostalCode;
RunOnUiThread(() => city.Text = String.IsNullOrEmpty(locality) ? string.Empty : locality);
loctionManager.RemoveUpdates(this); }
}
finally { }
}

3,AutoCompleteTextView自动完成内容

可用于历史输入记录显示、国家/地区、引导用户完成输入

类似↓

4,滚动

通过ScrollView控件实现滚动,这样就允许应用程序用户界面在需要的时候进行滚动操作

<ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout ………>
……………………
</LinearLayout>
</ScrollView>

Android UI--提高Android UI体验的更多相关文章

  1. 随感一:android handler传值更改ui

    handler+looper传值更改activity的UI 博客开了一段时间,一直想写点自己的学习经验及体会,等着以后长时间不用再要用到的时候直接拿过来上手.想了想,之前用到handler, 看了几篇 ...

  2. android高仿微信UI点击头像显示大图片效果

    用过微信的朋友朋友都见过微信中点击对方头像显示会加载大图,先贴两张图片说明下: 这种UI效果对用户的体验不错,今天突然有了灵感,试着去实现,结果就出来了.. 下面说说我的思路: 1.点击图片时跳转到另 ...

  3. (Android UI)Android应用程序中资源:图片、字符串、颜色、布局等

    Android系统设计采用代码和布局分离的设计模式,因此在设计Android应用程序时需要遵循该设计模式. “把非代码资源(如图片和字符串常量)和代码分离开来始终是一种很好的做法.”---<An ...

  4. Android中实时预览UI和编写UI的各种技巧

    一.啰嗦 之前有读者反馈说,你搞这个所谓的最佳实践,每篇文章最后就给了一个库,感觉不是很高大上.其实,我在写这个系列之初就有想过这个问题.我的目的是:给出最实用的库来帮助我们开发,并且尽可能地说明这个 ...

  5. iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸

    iPhone/iPad/Android UI尺寸规范 UI尺寸规范,UI图标尺寸,UI界面尺寸,iPhone6尺寸,iPhone6 Plus尺寸,安卓尺寸,iOS尺寸 iPhone界面尺寸 设备 分辨 ...

  6. 【Android UI】Android开发之View的几种布局方式及实践

    引言 通过前面两篇: Android 开发之旅:又见Hello World! Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理 ...

  7. [原] Android performClick无效,UI线程理解

    原因 开发过程中遇到button.performClick()无效,原因是View.performClick()需要再UI线程中调用才会有效执行. 响应系统调用的方法(比如报告用户动作的onKeyDo ...

  8. Android Phonebook编写联系人UI加载及联系人保存流程(四)

    2014-01-07 10:23:22 将百度空间里的东西移过来. 5. KindSectionView KindSectionView是何方神圣呢?它又是怎么怎么和一个DataKind,以及一个Ra ...

  9. Android Phonebook编写联系人UI加载及联系人保存流程(三)

    2014-01-07 09:54:13  将百度空间里的东西移过来. 本文从点击“添加联系人”Button开始,分析新建联系人页面UI是如何加载,以及新的联系人信息是如何保存的,借此,我们一探Phon ...

随机推荐

  1. ssh登陆virtualbox虚拟机

  2. flex datagrid 导出csv

    public function exportToCSV(dataGrid:DataGrid):void { var dataProviderCollection:ArrayCollection = d ...

  3. SOA 面向服务架构 阅读笔记(一)

    Service Oriented Architecture 面向服务架构 学习笔记(一) 1.业务自由 1.1  在很多企业中,业务和IT技术是各自独立的,无法使用通用的统一语言进行管理. 1.2  ...

  4. Java 重写equals()与hashCode()方法

    List对象的contains方法实际上也是调用的equals()方法来进行逐条对比的. 示例代码: package com.imooc.collection; /** * 课程类 */ public ...

  5. poj 2406 Power Strings【字符串+最小循环节的个数】

                                                                                                      Po ...

  6. 关于IIntelliJ IDEA(2017)安装和破解

    一.下载并安装, IntelliJ IDEA的官网:https://www.jetbrains.com 二.破解. 百度下载一个 JetbrainsCrack-2.6.2.jar 破解补丁.放在你的安 ...

  7. CCNA 课程 二

    传输层:两个重要的协议 TCP 和 UDP TCP: 面向连接的协议:在传输用户数据前,先要建立连接 (TCP的三次握手) 错误检查 数据包序列化 可靠性传输:发送的数据需要接受者提供确认,通过报头中 ...

  8. java深入探究14-lucene

    项目代码:链接:http://pan.baidu.com/s/1qXVcfCw 密码:apw1 01 回顾索引 定义:索引是对数据库表中一列或多列的值进行排序的一种结构 目的:加快对数据库表中记录的查 ...

  9. VBOX不能为虚拟电脑打开一个新任务解决方法

    第二种方法亲测有效! http://jingyan.baidu.com/article/4f7d5712da0c131a2119277a.html

  10. Spring初学之使用外部配置文件dataSource

    一.在Spring的基础上还要另外导入c3p0包和mysql的驱动包. 二.配置文件, jdbc.propertices:这里只做了一些简单配置 user=root password=123 driv ...