在 Android 程式中加入对话框(Dialog)

  次阅读 作者:智能小宝 来源:互联网 2015-10-03 11:31 我要评论(0)

我们的程式主功能已经完成了,现在我们要试著让它看起来更像一个完整的应用程式。

接下来的几章,我们要為「BMI」应用程式加上一个选单。选单裡面有一个「关於..」选项。按下「关於...」选项后,会弹出一个对话框,裡面会显示「BMI」程式的相关讯息。

本章中将先学习如何处理对话框。

在本章中,我们要產生一个应用程式中常见的「关於」页面。 应用程式的「关於」页面中,通常要包含版本讯息、作者、联络方式、首页等资讯。

我们的「关於」页面将以弹出对话框的方式表现。所需要做的,是撰写负责处理对话框的「openOptionsDialog」函式,并将之附加在原本应用程式中「calcBMI」这个按钮元件的「OnClickListener」方法上。当我们按下「计算 BMI 值」按钮时,即弹出对话框。

等我们学会了对话框的写法,在接下来学习 Android 选单的章节中,我们会改将对话框函式放入选单中。

对话框中所能显示的内容千变万化。对 Android 来说,对话框也是一种显示内容(View)。与一般全页面显示的不同之处,在於对话框会重迭显示到原本的呼叫页面上,而且在对话框的主要显示内容下方,可能还会再附加上几个按钮,用以回到原页面,或是用来执行其他的动作。

要在 Android 程式中呼叫一个对话框,有二个主要步骤:

# 定义呼叫点 # 实作对话框

定义呼叫点实作对话框重构加入按钮http://code.google.com/android/reference/android/app/AlertDialog.Builder.html

修改「Bmi.java」

Bmi.java

1private OnClickListener calcBMI = new OnClickListener()

2{

3public void onClick(View v)

4{

.....

6}else{

7view_suggest.setText(R.string.advice_average);

8}

9openOptionsDialog();

我们在「calcBMI」函式的尾端加入一行「openOptionsDialog();」,用以在每次计算完BMI值并显示建议后,顺便呼叫「关於」对话框。

紧接著「calcBMI」这个「OnClickListener」函式之后,我们实际开始撰写对话框函式。

private void openOptionsDialog() {

new AlertDialog.Builder(Bmi.this)

.setTitle("关於 Android BMI")

.setMessage("Android BMI Calc")

.show();

我们来分析这个对话框程式。

首先,显示一个最基本的对话框所需的程式码如下。

new AlertDialog.Builder(Bmi.this).show()

我们建立了一个 AlertDialog 对话框类别实体,AlertDialog 呼叫 Builder 方法来预备对应的介面元件。最后使用 show() 方法来将对话框显示在萤幕上。

透过

.setTitle("关於 Android BMI")

我们设定了对话框的标题。

透过

.setMessage("Android BMI Calc")

我们设定了对话框的主要内容。

我们把其中用到的字串抽取出来,整理到「res/values/strings.xml」中。

res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

....

<string name="about_title">关於 Android BMI</string>

<string name="about_msg">Android BMI Calc\n

作者 gasolin\n\n

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...