DigitalClock 和 WebView 小例子

保姆级教程:用AdGuard DNS代理实现全设备广告过滤(含Win/Mac/安卓/iOS配置) 本文提供了一份详尽的AdGuard DNS代理配置指南,帮助用户在全设备(Win/Mac/安卓/iOS)上实现广告过滤。通过系统级DNS设置,AdGuard能有效拦截广告、跟踪器和恶意网站,提升隐私保护和浏览效率。教程涵盖原理说明、各平台配置步骤及高级优化技巧,适合不同技术水平的用户。 阅读详情

除了一个 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开发中获得成功。
 




ENVI 5.6保姆级教程:高分七号DLC影像从打开到融合的完整流程(附避坑指南) 本文详细介绍了ENVI 5.6处理高分七号DLC影像的完整流程,包括环境准备、数据解压、正射校正、图像融合等关键步骤。特别针对国产卫星数据处理的独特挑战,提供了实用的避坑指南和优化技巧,帮助用户高效完成光学影像的预处理和质量提升。 阅读详情

相关推荐

从稳压管到LDO芯片:一张图看懂线性电源的‘内卷’进化史

本文追溯了从稳压管到LDO芯片的线性电源技术进化历程,详细解析了各阶段的技术突破与局限。重点探讨了现代LDO在超低功耗、高精度控制等方面的创新,并提供了实战选型的黄金法则,帮助工程师在电子设备小型化与低功耗化趋势中做出最优选择。

weixin_42525551的博客 205

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—

xiangyong2008的专栏 746

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基本单位。

ChampaignWolf的专栏 2300

Android2.2 控件列表和层次

在 Android 控件 View - TextView - 文本显示控件 Button - 按钮 CompoundButton CheckBox - 复选框 RadioButton - 单选框 ToggleButton - 开关按钮 CheckTextView - 可选择的文本控件,在ListView中很有用 Chronomete

ndswcjp的专栏 492

Windows 64 位系统下安装配置 DOSBox 及 debug.exe

该篇博客同样作为类似问题 “如何在 Windows 64 位系统下进入 debug” 的答案。 很多同学初看王爽的《汇编语言》,或者因为其它原因需要进入 debug 调试模式下学习汇编语言的时候,会发现进入不了,出现类似以下的错误提示。 这是因为他们使用的是 64 位的 Windows 系统(Win 7,Win 8 以及 Win 10 等),而 64 位 Windows 系统不再支持在命令提示符窗口下进入 debug 调试模式。那么对于使用 64 位 Windows 系统的用户来说,该怎样才能够顺利进入 d

加号减减号的博客 5万+

CCC数字钥匙Release 3实战:如何用BLE/UWB实现无钥匙进入(附避坑指南)

本文深入解析CCC数字钥匙Release 3标准下BLE/UWB无钥匙进入系统的开发实践,涵盖硬件选型、安全测距协议、时序同步等关键环节,并提供实战调试技巧与安全攻防案例。特别针对BLE芯片配置、UWB模块选型等常见陷阱给出解决方案,帮助开发者高效实现厘米级精度的数字钥匙系统。

weixin_29326909的博客 254

TextView

TextView还派生了一个CheckedTextView,CheckedTextView增加了一个checked状态,可通过setChecked(boolean)和isChecked()方法来改变、访问该组件的checked状态。//必须设置图片大小,否则不显示。(2)、使用Html.ImageGetter提供网页中要显示的图片。(3)、在TextView内部四周可以各设置一张图片。

6163

MATLAB信号处理实战:VMD分解参数调优全指南(附避坑技巧)

本文深入探讨了MATLAB中变分模态分解(VMD)的核心参数调优实战技巧。针对模态数K和惩罚系数α的选择难题,提供了从经验估计、可视化观察到量化指标辅助的渐进式调优框架,并分享了避免过分解与欠分解的实用避坑指南,旨在帮助工程师高效处理非平稳信号,提取清晰的物理特征。

weixin_29079671的博客 144

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、人品不好是出现的某些错误的解

xuyin1204的博客 724

揭秘Synopsys EDA中的AI黑科技:DSO.ai如何改变传统芯片设计流程

本文深入探讨了Synopsys EDA中的AI黑科技DSO.ai如何革新传统芯片设计流程。通过数据驱动的方法论、功耗优化革命和时序收敛智能加速,DSO.ai显著提升了设计效率和质量,实现了从经验驱动到AI驱动的范式转变。文章还提供了实战指南,帮助团队跨越AI EDA的实施鸿沟。

weixin_29296241的博客 525

ROS机器人未知环境自主探索功能包explore_lite总结

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包exp

慕羽★的博客 4461

如何成为Android高手

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。还有。

2401_84537826的博客 76

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 高级工程师成长之路(Android高手应该精通哪些内容?)

很多Android开发者已经度过了初级、中级,如何成为一个Android高手呢? Android123就各个级别的程序员应该掌握哪些内容作为下面分类。 一、初级 1. 拥有娴熟的Java基础,理解设计模式,比如OOP语言的工厂模式要懂得。 2. 掌握Android UI控件、Android Java层API相关使用。 迈向中级,最好再次更新下Java技...

weixin_30566149的博客 99

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/>这时啥玩意?

yanghuashuiyue的专栏 1435

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

ghd2000的专栏 2万+

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

ghd2000的专栏 2万+

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

ghd2000的专栏 2万+

在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工

ghd2000的专栏 2万+

Android—ListView Item 展开动画效果

Android—ListView Item 展开动画效果 最近在做一个关于ListView item的展开效果,类似于 “粮仓” App 的商店页面,点击Item,展开显示子View,类似于ExpandableListView。如图: 其实原理大家都能够猜的到,就是在Adapter里控制子View的显示与隐藏,其实这个东西看起来挺简单的,做起来,还真是费了一点功夫,其中还遇到不少知识点。

ghd2000的专栏 1万+

在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;

ghd2000的专栏 1万+

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

ghd2000的专栏 1万+

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

ghd2000的专栏 1万+

android 中关于SimpleAdapter构造参数的问题。

 simpleAdapter的构造函数 如下:  SimpleAdapter(Context context, List > data, int resource, String[] from, int[] to)  一个SimlpleAdapter是这个工作的。假设将SimpleAdapter用于ListView。那么ListView的每一个列表项就是resource参数值指定的

ghd2000的专栏 1万+

获取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 { /*

ghd2000的专栏 1万+

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"

ghd2000的专栏 9508
上一篇: 关于Android Menu 的用法
下一篇: 敏捷开发中编写高质量Java代码 ————转载
ghd2000
博客等级 码龄18年 78粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值