本文向你展示了在你的android應用程序中創建一個簡單的Button或ImageButton控件的步驟。首先,你會學到如何向你的布局文件中添加按鈕控件。然後你會學習如何用兩種方法處理用戶對按鈕的點擊。最後,我們討論android中按鈕控件一些其它的可用特性。

第1步:創建android應用程序

我們從創建Android程序開始。你平常一樣完成你的android應用。一旦你已經創建項目並可以運行,決定你希望向什麼樣的屏幕添加Button控件。可能你就簡單地創建了一個使用默認活動和布局(main.XML)的新android項目。這個教程將使用這種情況作例子。一旦你創建了你的android項目,你就可以繼續學習這篇文章了。

第2步:使用Button控件

Android SDK包含兩個在你的布局中可以使用的簡單按鈕控件:Button(android.widget.Button)和ImageButton(android.widget.ImageButton)。這些控件的功能很相似因此我們幾乎可以一並地的討論它們。這兩個控件不相同的地方基本上就是外觀上;Button控件有一個文本標簽,而ImageButton使用一個可繪制的圖像資源來代替。Button使用的一個很好的例子應該是一個簡單的帶有“保存”文本標簽的按鈕。ImageButton使用的一個很好的例子可能是音樂播放器按鈕的集合,包括播放P, 暫停 以及停止。

這裡是一個示例屏幕,包括一個Button控件(左邊)和一個ImageButton控件(右邊)。

Android SDK還包含了一些其它更不為人知的從上面兩個基本按鈕類型繼承來的類按鈕控件,包括CompoundButton,RadioButton,ToggleButton,和ZoomButton。要了解這些控件的更多信息,查看android文檔。你也可以通過繼承合適的類並實現控件行為來創建自定義控件。

第3步:向布局添加Button控件

Button控件通常都被作為活動的布局資源文件一部分。比如,要添加一個Button控件到與你程序相關的main.xml布局資源中,你必須編輯布局文件。你可使用Eclipse的布局資源設計器,或者直接編輯XML。像按鈕這樣的控件也可以通過程序動態地創建並在運行時添加到你的屏幕上。簡單地通過它的類來創建合適的控件並將它添加到你的活動中的布局。

要添加一個Button控件到布局資源文件,打開/res/layout/main.XML布局文件,它是你的android項目的一部分。點擊你想要為其添加Button控件的LinearLayout (或者父級布局控件,比如RelativeLayout或FrameLayout)。在Eclipse中,你可以點擊Outline標簽中的父級布局,然後使用綠色加號按鈕添加一個新的控件。選擇你要添加的控件——在這個例子中是Button控件。

要配置Button控件的外觀,選中該控件並通過在屬性標簽中改變屬性值來調節控件的屬性。下面是一些你會想知道的特別的屬性:

使用id屬性給Button或ImageButton一個唯一的名字。

使用文本屬性設置Button控件上要顯示的文字;使用src屬性設置ImageButton控件上要顯示的圖片。

將控件的布局高度和布局寬度屬性設置為wrap_content.

設置任何其它屬性來調整控件的外觀。比如,使用文本顏色,文本大小和文本樣式屬性來調整Button的字體。

下面是用來生成前段中展示的屏幕的布局資源文件的內容。它包括三個控件。RelativeLayout組織屏幕上的控件,也就是兩個子控件,一個Button和一個ImageButton,如下:

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

第4步:處理點擊

現在,如果你運行你的程序,按鈕控件顯示出來了,但是如果你點擊它們不會有任何反應。現在應該來處理控件上的點擊事件了。有好幾種方法可以做到。

讓我們從簡單的方法開始吧。Button和ImageButton控件有一個叫onClick的屬性(在屬性面板裡叫“On Click”)。你可以通過這個屬性設置要處理點擊事件的方法名,然後在你的活動中實現這個方法。比如,你可以將你的Button控件屬性設置為onMyButtonClick。在XML中,這個屬性將如下所示:

android:onClick="onMyButtonClick"

然後,在你的活動類,你需要實現這個方法。它應該是一個帶有單個參數(一個VIEw對象)的公有的void方法。例如,下面的按鈕點擊實現了當Button控件被點擊時在屏幕生成一個消息框:

public void onMyButtonClick(View vIEw) { Toast.makeText(this, "Button clicked!", Toast.LENGTH_SHORT).show(); }

當你點擊這個Button控件,onMyButtonClick()方法被調用,在屏幕上顯示一個消息。你的Button按鈕能做什麼就取決於你自己了。下圖顯示了當點擊Button按鈕時消息是如何展示的:

第5步:處理點擊——實現OnClickListener

實現點擊事件處理的另一種方法是使用setOnClickListener()方法向你的按鈕控件注冊一個新的VIEw.OnClickListener。這種方式代替了將你布局資源中的按鈕控件的On Click屬性設置為一個你必須實現的方法的方式,你可以在你的活動中動態地做這些事情。雖然這可能看起來有很多額外的代碼要寫,但至少理解它是非常重要的,因為在一些控件上點擊不是需要處理的唯一事件。我們將要向你展示的程序應用了其它的事件,比如長按。

要使用這個方法,你必須更新你的活動類以注冊控件點擊事件。通常情況下通過你的活動的onCreate()方法來實現。使用findVIEwById()方法找到控件然後使用它的setOnClickListener()方法來定義當它被點擊時的行為。你將需要自己去實現界面的onClick()方法。比如,下面的代碼(位於活動的onCreate()方法中)為我們的ImageButton控件注冊了一個點擊處理器。

ImageButton myImageButton = (ImageButton) findVIEwById(R.id.ImageButton01); myImageButton.setOnClickListener(new VIEw.OnClickListener() { public void onClick(VIEw v) { Toast.makeText(BasicButtonActivity.this, "ImageButton clicked!", Toast.LENGTH_SHORT).show(); } });

同樣地,你可以使用這個技術來實現長按點擊處理,通過使用控件的setOnLongClickListener()方法。

總結

按鈕控件在Android程序中經常會用到。在這個快速教程中你學習了如何創建兩種不同的android按鈕控件:Button和ImageButton。你也學習了實現這些類型按鈕控件的按鈕點擊事件處理的幾種方法。(注:原文作者:RockUX–WEB 點此查看英文。)

android用户界面设计:基本按钮,Android用戶界面設計:基本按鈕相关推荐

  1. Android用户界面设计

    Android用户界面设计 用户界面设计是Android应用开发的一项重要内容.在进行开发的过程中,我们需要了解UI元素如何呈现给用户,也就是如何控制UI界面.andorid提供了4种控制UI的方法. ...

  2. Android尺寸标注设计大全和Android切图规范

    转载地址:http://www.25xt.com/appdesign/4256.html 安卓app设计规范整理和Android APP设计篇 http://www.25xt.com/appdesig ...

  3. Android用户界面设计学习之旅-第二站

    通过上一篇文章,大概了解了Android用户界面的设计方式,以及如何通过XML来设计界面.并且完成了一个非常简单的示例. 在上一篇文章中,涉及到了一些资源文件,直观点说,就是res目录下的那些目录和文 ...

  4. Android用户界面设计:框架布局

    框架布局是将控件组织在Android程序的用户界面中最简单的布局类型之一. 理解布局对于良好的Android程序设计来说是非常重要的.在这个教程里,你将学到所以关于框架布局的知识,它们主要用来在屏幕上 ...

  5. Android用户界面设计“.NET研究”:框架布局

    框架布局是将控件组织在Android程序的用户界面中最简单的布局类型之一. 理解布局对于良好的Android程序设计来说是非常重要的.在这个教程里,你将学到所以关于框架布局的知识,它们主要用来在屏幕上 ...

  6. android界面图标大全,Android UI设计常识和Android UI界面欣赏酷站推荐

    这几天都是iphone6的信息.25学堂根据群里网友的一些建议.今天把android设计的一些基本规范和设计尺寸常识再来罗列一下. 之前25学堂认真整理的关于android ui设计规范的知识点如下: ...

  7. android studio怎么添加按钮,Android Studio 工具栏添加常用按钮

    本文中 Android Studio 的版本为 android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异. 在工具栏中添加一些常用的按钮,如设置.DDMS,有利 ...

  8. android 软键盘遮住按钮,Android应用中出现软键盘遮挡住按钮如何解决

    Android应用中出现软键盘遮挡住按钮如何解决 发布时间:2020-11-20 16:25:47 来源:亿速云 阅读:110 作者:Leah Android应用中出现软键盘遮挡住按钮如何解决?相信很 ...

  9. android五子棋设计模板,基于android的五子棋游戏设计

    内容介绍 原文档由会员 hfnmb 发布 基于Android的五子棋游戏设计 软件工程 [摘 要]本论文主要阐述以面向对象的程序开发语言eclipse为开发工具, 基于智能手机Android之上设计一 ...

最新文章

  1. 如何打印Qt中的枚举所对应的字符串
  2. android final函数,Android 回调函数 解析问题
  3. java 持续集成工具_Jenkins-Jenkins(持续集成工具)下载 v2.249.2官方版--pc6下载站
  4. web.xml中webAppRootKey
  5. 服务器抓取网页 如何伪装自己,web服务器伪装
  6. 设计模式之GOF23建造者模式
  7. java 获取jsessionid_如何从JSESSIONID加载Java HttpSession?
  8. AI之语音转写项目实践
  9. QNX实时操作系统简介
  10. CodeSmith链接Oracle、MySQL数据库
  11. jquery查子元素
  12. 使用java制作一个个税计算器
  13. 端侧智能存算一体芯片的需求、现状与挑战
  14. continuity不收敛的问题
  15. (附源码)springboot基于java的超市购物管理系统 毕业设计 271611
  16. 苹果ppt_熬夜看完苹果发布会,我居然学会了用PPT做霓虹灯特效?!
  17. 通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号
  18. replica文件服务器,mongodb replica set 配置高性能多服务器详解
  19. MySQL的客户端/服务器架构
  20. 如何应对大数据时代(转)

热门文章

  1. Linux那些事儿 之 戏说USB(27)设备的生命线(十)
  2. authc过滤器 shiro_shrio 权限管理filterChainDefinitions过滤器配置
  3. 三、python中最基础的文件处理汇总
  4. 二十岁出头的时候上,你一无所有,你拥有一切
  5. 如何学习streamdecoder类_如何学习篇5:强化2种能力——2种学习模式之运动类:隐性学习...
  6. 如何优雅地保留两位有效数字,又规避末尾出现多余的“0”?
  7. g-gdb 调试多线程
  8. leetcode-135 分发糖果
  9. 哈希--直接定值法和除留取余法
  10. 实现分布式服务注册及简易的netty聊天