除了一个 analog clock之外,你还可以显示一个数字时钟,使用DigitalClock view。
添加 DigitalClock 元素到main.xml文件中,就像这样:
<?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"
>
<AnalogClock android:id="@+id/clock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<DigitalClock android:id="@+id/clock2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
在Eclipse中按下F11。图7显示指针式时钟和数字时钟:
图 7 – 活动中的DigitalClock
WebView
WebView view允许你在你的应用程序中嵌入一个网页浏览器。添加一个新的文件到res/layout文件夹,把它命名为webview.xml ,用如下元素填充它:
<?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"
>
<WebView android:id="@+id/webview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text = "Hello, world!"
/>
</LinearLayout>
添加一个新的class到src/net.learn2develop.AndroidViews文件夹中,并且把它命名为 WebViewExample.java。这样填充它:
package net.learn2develop.AndroidViews;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class WebViewExample extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView wv = (WebView) findViewById(R.id.webview1);
wv.loadUrl("http://www.mobiforge.com");
}
}
WebView class的loadUrl() method加载一个给出的URL的页面。修改AndroidManifest.xml 文件从而注册新的activity并且请求INTERNET 许可:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.learn2develop.AndroidViews"
android:versionCode="1"
android:versionName="1.0.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ViewsActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".WebViewExample"
android:label="@string/app_name" />
</application>
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
<uses-sdk android:minSdkVersion="3" />
</manifest>
要WebView view生效,你需要添加INTERNET许可到AndroidManifest.xml文件中。像下面这样修改ViewsActivity.java文件,以开始WebViewExample activity:
package net.learn2develop.AndroidViews;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
public class ViewsActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startActivity(new Intent(this, WebViewExample.class));
}
}
按下 F11 在Android模拟器上调试这个应用程序。图8显示活动的WebView view。
图 8 – WebView显示一个网页
你还可以动态阐明一个HTML字符串,把它加载到一个WebView view中,使用 loadDataWithBaseURL() method:
WebView wv = (WebView) findViewById(R.id.webview1);
final String mimeType = "text/html";
final String encoding = "UTF-8";
String html = "<H1>A simple HTML page</H1><body>" +
"<p>The quick brown fox jumps over the lazy dog</p>";
wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
图 9 显示加载了HTML字符串的WebView
图9 – 显示一个 HTML 字符串的内容
如果你有想要直接从你的project加载的静态页面,你可以在你的包的assets文件夹下面保存这个HTML页面。图10显示我已经在assets文件夹下添加了名为Index.html的页面:
图10 – 在assets文件夹下添加一个HTML页面
Index.html 的内容如下所示:
<h1>A simple HTML page</h1>
<body>
<p>The quick brown fox jumps over the lazy dog</p>
<img src='http://www.google.com/logos/Logo_60wht.gif'/>
</body>
要使用保存在Index.html 文件中的内容加载那个WebView,这样使用loadUrl() method:
WebView wv = (WebView) findViewById(R.id.webview1);
wv.loadUrl("file:///android_asset/Index.html");
图 11 显示在WebView view中加载的内容:
图 11 – 使用WebView加载HTML 页面
总结
这这篇文章中,你看到了怎样在Android应用程序中实现内容和选择菜单。另外,你也了解了怎样使用其他的一些好用的view,例如AnalogClock以及DigitalClock。这就是这一系列的结尾了。我希望那个大家现在对于Android中的view是怎样工作的有了很好的掌握。祝大家在Android开发中获得成功。

相关推荐
从稳压管到LDO芯片:一张图看懂线性电源的‘内卷’进化史
本文追溯了从稳压管到LDO芯片的线性电源技术进化历程,详细解析了各阶段的技术突破与局限。重点探讨了现代LDO在超低功耗、高精度控制等方面的创新,并提供了实战选型的黄金法则,帮助工程师在电子设备小型化与低功耗化趋势中做出最优选择。
Understanding User Interface in Android - Part 4: More Views(译)
无意中看到的几篇文章,想翻译出来分享给大家。不过声明,翻译后的意思不一定能完全表达作者的意图,如果想看原文,请参考:http://mobiforge.com/designing/story/understanding-user-interface-android-part-4-more-views 在Android Views系列文章的最后一篇里,我们将继续介绍其他种类的View—
SAP ABAP VL09 BAPI VL 216
ls_batch_item-fact_unit_denom = ls_lips_split-umvkn. "销售数量转换为 SKU 的值(分母)ls_batch_item-fact_unit_nom = ls_lips_split-umvkz. "销售数量转换成SKU的分子(因子)ls_batch_item-sales_unit_iso = ls_lips_split-meins. "被拆分DN基本单位。
Android2.2 控件列表和层次
在 Android 控件 View - TextView - 文本显示控件 Button - 按钮 CompoundButton CheckBox - 复选框 RadioButton - 单选框 ToggleButton - 开关按钮 CheckTextView - 可选择的文本控件,在ListView中很有用 Chronomete
Windows 64 位系统下安装配置 DOSBox 及 debug.exe
该篇博客同样作为类似问题 “如何在 Windows 64 位系统下进入 debug” 的答案。 很多同学初看王爽的《汇编语言》,或者因为其它原因需要进入 debug 调试模式下学习汇编语言的时候,会发现进入不了,出现类似以下的错误提示。 这是因为他们使用的是 64 位的 Windows 系统(Win 7,Win 8 以及 Win 10 等),而 64 位 Windows 系统不再支持在命令提示符窗口下进入 debug 调试模式。那么对于使用 64 位 Windows 系统的用户来说,该怎样才能够顺利进入 d
CCC数字钥匙Release 3实战:如何用BLE/UWB实现无钥匙进入(附避坑指南)
本文深入解析CCC数字钥匙Release 3标准下BLE/UWB无钥匙进入系统的开发实践,涵盖硬件选型、安全测距协议、时序同步等关键环节,并提供实战调试技巧与安全攻防案例。特别针对BLE芯片配置、UWB模块选型等常见陷阱给出解决方案,帮助开发者高效实现厘米级精度的数字钥匙系统。
TextView
TextView还派生了一个CheckedTextView,CheckedTextView增加了一个checked状态,可通过setChecked(boolean)和isChecked()方法来改变、访问该组件的checked状态。//必须设置图片大小,否则不显示。(2)、使用Html.ImageGetter提供网页中要显示的图片。(3)、在TextView内部四周可以各设置一张图片。
MATLAB信号处理实战:VMD分解参数调优全指南(附避坑技巧)
本文深入探讨了MATLAB中变分模态分解(VMD)的核心参数调优实战技巧。针对模态数K和惩罚系数α的选择难题,提供了从经验估计、可视化观察到量化指标辅助的渐进式调优框架,并分享了避免过分解与欠分解的实用避坑指南,旨在帮助工程师高效处理非平稳信号,提取清晰的物理特征。
Android 基础控件说明及使用
控件讲解一、在 Windows 下搭建 Android 开发环境1、安装 JDK (Java Development Kit)2、安装 Android SDK3、安装 Eclipse4、打开 Eclipse ,并安装其 Android 插件(ADT)5、新建 Android 项目6、运行 Android 项目7、创建/使用模拟 SD 卡8、配置模拟器9、浏览模拟 SD 卡中的内容10、查看日志 LogCat11、在模拟器中安装/卸载 apk12、反编译 Android 程序13、人品不好是出现的某些错误的解
揭秘Synopsys EDA中的AI黑科技:DSO.ai如何改变传统芯片设计流程
本文深入探讨了Synopsys EDA中的AI黑科技DSO.ai如何革新传统芯片设计流程。通过数据驱动的方法论、功耗优化革命和时序收敛智能加速,DSO.ai显著提升了设计效率和质量,实现了从经验驱动到AI驱动的范式转变。文章还提供了实战指南,帮助团队跨越AI EDA的实施鸿沟。
ROS机器人未知环境自主探索功能包explore_lite总结
本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包exp
如何成为Android高手
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
android 高级工程师成长之路(Android高手应该精通哪些内容?)
很多Android开发者已经度过了初级、中级,如何成为一个Android高手呢? Android123就各个级别的程序员应该掌握哪些内容作为下面分类。 一、初级 1. 拥有娴熟的Java基础,理解设计模式,比如OOP语言的工厂模式要懂得。 2. 掌握Android UI控件、Android Java层API相关使用。 迈向中级,最好再次更新下Java技...
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
vscode vue3 typescript开发环境搭建
今天搞一下vue3环境,用这玩意看看好使不。vue2早期的语法看起来真实够呛,嵌套比较深。以前看过一个妹子写的react代码,发现里面很多js在控制样式和html,三个东西揉在一块也是厉害了。不知道是不是react本身的风格。vue3本身风格要接近原生js了,提倡组合式API,但是还是有些距离。从语法使用上来说还是早期原生js风格统一,没有各种套路,都是拿来就用,纯组合。这组件方开发感觉看起来不直白,一个页面里面很多自定义组件,不看源码不知道时啥玩意。比如<MyComp/>这时啥玩意?
SIMATIC S7-1200, S7-1500 PID 控制[手册]
SIMATIC S7-1200, S7-1500 PID 控制[手册]
获取android中正在运行应用程序的列表
最近想做一个任务管理器练一练手,第一道题就是获取手机中正在运行的程序。后来在网上找了一下资料,终于有了眉目。废话不多说!看代码。ActivityMain.javapublic class ActivityMain extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); req
Android SDK 2.1 下载与安装教程
Android SDK 2.1 下载与安装教程 一、Google已经发布了Android SDK 2.1版本.下面给朋友们介绍一下安装2.1的 Android 模拟器 Emulator模拟器的方法: 1、首先下载最新的SDK 2.1文件,由于需要翻墙下载,直接贴出文件地址,大家可以用迅雷下载: Windows版 http://dl.google.com/andr
Android修改Eclipse 中的Default debug keystore路径,以及修改android的AVD默认路径
<br /> 今天终于收到了网上淘来的《Android SDK开发范例大全》和《Android开发入门与实战》,很是兴奋,于是停下手中正在做的一项目,花了一下午来体验Android的开发。 <br /> 说实话,光是配置Eclipse就走了不少弯路,第一次是在实验室用Eclipse 3.5 J2EE,结果AVD死活不能建立,看到书中用的是J2SE版,就下了这个版本重新配置,结果总是缺少依赖插件,无奈,只好重新案卷3.5版本的,可是在宿舍死活装不上很多依赖插件,上网google了下,有人说3.5
在Android中使用OpenCv 来处理图片
最近在研究在用C来处理图片,后来再网上找了一下,有的说用libjpeg和opencv来处理图片。先研究一下,opencv来处理图片,这是网上一位友人写的代码http://blogold.chinaunix.net/u1/57901/showart.php?id=2512389开始之前,你必须得到 libandroid-opencv.so库 ,请参考这位牛人的博客http://blog.youkuaiyun.com/hellogv/archive/2011/01/21/6157316.aspx1、创建一个android工
Android—ListView Item 展开动画效果
Android—ListView Item 展开动画效果 最近在做一个关于ListView item的展开效果,类似于 “粮仓” App 的商店页面,点击Item,展开显示子View,类似于ExpandableListView。如图: 其实原理大家都能够猜的到,就是在Adapter里控制子View的显示与隐藏,其实这个东西看起来挺简单的,做起来,还真是费了一点功夫,其中还遇到不少知识点。
在Eclipse编译aidl文件中出现couldn't find import for class原因
最近正在研究aidl,出现了以下错误: couldn't find import for class 无法导入类!IMyService.aidl 如图:工程目录:Student.java private int age; private String name; public int getAge() { return age; } public void setAge(int age) { this.age = age;
android 支持展开/收缩功能的列表控件
<br /> 最近在做一个Rss阅读器,我看了一看别人做的阅读器中的lisView可以伸缩,展开,我就在网上搜索了一下。果然让我找到,下面就我找到的一个小例子,给大家分享一下。<br /> <br />ActivityMain .java<br /> <br />package com.android;<br /><br />import android.app.ExpandableListActivity;<br />import android.os.Bundle;<br />import and
ProgressBar 各种样式
<br />多式样ProgressBar<br /><br />普通圆形ProgressBar<br /><br /><br /><br /><br /><br />该类型进度条也就是一个表示运转的过程,例如发送短信,连接网络等等,表示一个过程正在执行中。<br /><br />一般只要在XML布局中定义就可以了。 <progressBar android:id="@+id/widget43"<br /><br /> android:layout_width="wrap_content" <br
android 中关于SimpleAdapter构造参数的问题。
simpleAdapter的构造函数 如下: SimpleAdapter(Context context, List > data, int resource, String[] from, int[] to) 一个SimlpleAdapter是这个工作的。假设将SimpleAdapter用于ListView。那么ListView的每一个列表项就是resource参数值指定的
获取android手机总内存和可用内存的一些方法
<br /> 网上有很多方法可以获取内存的方法,我收集了一下具体如下,可以参考这位老兄的博客。<br />第一种方法:<br />http://blog.youkuaiyun.com/sxwyf248/archive/2010/11/02/5981251.aspx<br />第二种方法:<br />是我在一个论坛里找到的,是一个高手用java的反射机制来获取手机的内存的一些信息。<br />具体代码如下。<br />public class GetFreeMem extends Activity { /*
android中 关于listitem 获得焦点时,改变其背景
<br /> 其实这个问题一直困扰着我,后来终于解决了。其实很简单看下面的截图,不好意思,截图有点模糊:<br /><br />1、listView控件 <br /> <ListView <br /> android:id="@+id/contact_listview" <br />android:layout_width="wrap_content" <br />android:layout_height="400dip" <br /> android:divider="#b9b9b9"
205



被折叠的 条评论
为什么被折叠?



