Android的界面显示同样也是基于控件的。通常是用View(包括ViewGroup)控件配上XML的样式来做的。具体细节不想说了,可以参考 Samples里的ApiDemos/View,和View的Doc,以及Implementing a UI这篇Doc。其他还有很多,感觉算是SDK讲述的最多的内容。
从控件的使用上,和网页的设计类似,尽量用parent_width之类的抽象长度,用Theme来做风格,抽取所有的字串等信息做本地化设计。相关内容参看Implementing a UI就好。
一类比较重要的是数据绑定控件。如果做过ASP.Net会从中看到很多类似的地方。一个支持数据绑定的控件,比如ListView。可以通过一个 ListAdapter绑定到一个数据源上。ListAdapter是一个抽象类,主要的实现类包括SimpleAdapter和 SimpleCursorAdapter。前者是绑定一个静态的Array,后者是绑定一个动态的Cursor。Cursor前面说过,是一个指向数据源的随机迭代器,将View绑定到Cursor通常要设置这样几个参数。一个是每一行的样式,称作Row Layout,其实就是一个普通的Layout的XML文件。还有就是一个列和现实控件的对应关系。那个控件显示哪个列的值,这是需要配置的。为了定制一个良好的数据显示控件,最简单你可以定制很PP的Row Layout,复杂一点就是可以重载绑定控件View,或者是适配器ListAdapter。如果是一个数据显示密集的应用,且你对UI有些追求,这个工作估计是必不可少的。
一个主要用于显示数据内容的Activity,可以选择派生自ListActivity。它提供了一个具有ListView 的Layout,还有simple_list_item_1, simple_list_item_2, two_line_list_item等默认的Row Layout,还有一些比较不错的API,和可供响应选择Item的事件。可以满足你比较基础的需求。如果你觉得只有一个ListView的界面太突兀,你可以为这个ListActivity指定一个Layout,需要注意的是,你需要提供一个id为@android:id/list的ListView控件,避免Activity在内部偷偷寻找该控件的时候失败。
除了这些要求,做好UI还有注意易用性和效率。快捷键是一个比较不错的选择,在 Activity中调用setDefaultkeyMode(SHORTCUT_DEFAULT_KEYS),可以开启快捷键模式,然后你可以将菜单绑定到指定快捷键上就OK了。个人觉得Tip也是一个比较重要的东西,但目前观察看来,这个东西只能够自己提供了。界面的动态性有时候是不可避免的,比如说菜单就是一个需要经常根据光标位置提供不同的选项。这个东西Android很人道的考虑到了,你可以参看NodeList这个Sample。它采取的应该是一个静态模拟动态的方式,这样有助于提高速度。你也可以利用ViewInflate,动态从一个XML创建一个控件。成本据Doc说很大,不到万不得已不要使用。
分享到:
相关推荐
本文将详细介绍如何创建这样一个简洁且实用的电量显示控件,并分享一些关键知识点。 首先,我们需要理解Android UI系统的基础。Android使用XML布局文件来定义用户界面,其中我们可以使用`TextView`或自定义`View`来...
总结来说,Android中的流程步骤控件是提高用户体验的重要工具,通过自定义或使用第三方库,开发者可以轻松实现这种功能,并根据应用的需求进行定制和优化。在实际开发中,应充分考虑用户体验,确保步骤控件直观易懂...
总之,要让Android子控件超出父控件的范围显示,关键在于父控件的`clipChildren`属性设置。通过设置它为`false`,我们可以创建出各种创意的布局效果,如悬浮按钮、底部导航栏等。同时,通过合理的布局和定位,我们...
使用线程控制显示/隐藏按钮, 无操作一段时间后,隐藏显示的按钮
以下是一个示例布局文件,其中包含三个按钮,并演示了如何使用`android:visibility`属性: ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_...
以下是一些主要的Android基础控件及其使用方法的详细说明: 1. **按钮(Button)** - `Button`控件用于实现点击事件,用户可以触发某种操作。可以通过`setOnClickListener`设置监听器,如: ```java Button button...
通常我们使用TextView控件来处理文本显示,但在某些情况下,特别是中文排版时,用户可能需要两端对齐的效果,而Android自带的TextView并不能很好地满足这一需求。本文将深入探讨TextView的实现原理,并介绍如何设计...
根据筛选控件的需求,我们可能需要结合使用这些布局,例如,LinearLayout用于垂直或水平排列筛选项,RecyclerView则可以用来显示可滚动的筛选列表。 控件的实现通常包括以下步骤: 1. **设计数据结构**:为了存储...
最后,对于自定义控件的调试和优化,开发者需要注意性能问题,比如避免在主线程中执行耗时操作,合理使用缓存策略,以及确保控件在不同设备和屏幕尺寸上都能正常显示。 总的来说,GaugeView是一款适用于Android的...
文件上传通常涉及到网络请求,Android提供了多种方式来实现,如使用HttpURLConnection、HttpClient(已废弃)或第三方库如Volley、OkHttp等。以OkHttp为例,它是一个高效的HTTP客户端,支持异步和同步请求。创建一个...
这篇博文“android常用UI控件的使用例子”可能会深入探讨一些常见的Android UI组件及其用法,帮助开发者更好地理解和应用这些控件。由于没有具体的博文内容,我将根据一般知识和经验,详细介绍一些Android开发中的...
Android 自定义 Progress 控件是一种常用的 UI 组件,用于显示进度信息。然而,Android 的默认 Progress 控件功能有限,无法满足一些特殊的业务需求。因此,自定义 Progress 控件成为了一种必要的解决方案。本文将...
本文将深入探讨如何实现一个具有三种状态的纯Material风格的Android Checkbox控件,以及与之相关的Android开发知识。 Checkbox在Android中通常用于提供多选选项,它的默认状态只有两种:选中和未选中。然而,有时...
在布局XML文件中,可以使用`<Spinner>`标签来声明一个Spinner控件,然后通过设置`android:entries`属性来指定显示的列表项。例如: ```xml android:id="@+id/my_spinner" android:layout_width="match_parent" ...
TextView(文本显示控件) - **简介**:用于显示文本。 - **属性**: - `android:text`:设置显示的文本内容。 - `android:textSize`:设置文本大小。 - `android:textColor`:设置文本颜色。 - **示例**: ```...
"Android所有控件的使用"这个主题涵盖了从基础到高级的各种控件,旨在帮助开发者全面理解并熟练掌握Android UI设计。以下是一些主要的Android控件及其用法的详细说明: 1. **按钮(Button)**:Button是最常见的控件...
本资料"Android使用ListView实现一个高性能无限层级显示的树形控件"旨在教你如何利用ListView创建一个可以处理无限层级的树形控件。 首先,我们需要理解ListView的工作原理。ListView是一个视图容器,它通过复用...
在Android开发中,自定义控件是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何创建一个自定义电量控件,实现百分比控制,并不显示数字,同时提供大小和颜色的可定制性,确保其在不同场景下都能优雅地...
在Android开发中,分页控件是不可或缺的一部分,它能够帮助用户更有效地浏览大量数据,同时减轻服务器压力。本教程将深入探讨如何在Android中创建一个自定义分页控件,以便实现高效、用户友好的界面。 首先,我们...
本文将深入探讨Android的基本控件及其使用方法,这对初学者来说是非常重要的基础知识。 1. **TextView**:TextView是最基础的文本展示控件,用于显示单行或多行文本。可以设置文本内容、字体样式、颜色、大小等属性...