成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android用戶界面設計:基本按鈕

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

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

第1步:創(chuàng)建Android應用程序

我們從創(chuàng)建Android程序開始。你平常一樣完成你的Android應用。一旦你已經(jīng)創(chuàng)建項目并可以運行,決定你希望向什么樣的屏幕添加Button控件??赡苣憔秃唵蔚貏?chuàng)建了一個使用默認活動和布局(main.xml)的新Android項目。這個教程將使用這種情況作例子。一旦你創(chuàng)建了你的Android項目,你就可以繼續(xù)學習這篇文章了。

第2步:使用Button控件

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

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

Android screen with two types of button controls

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

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

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

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

Adding a Button control to a Layout Resource in Eclipse

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

  • 使用id屬性給Button或ImageButton一個唯一的名字。
  • 使用文本屬性設置Button控件上要顯示的文字;使用src屬性設置ImageButton控件上要顯示的圖片。
  • 將控件的布局高度和布局寬度屬性設置為wrap_content.
  • 設置任何其它屬性來調(diào)整控件的外觀。比如,使用文本顏色,文本大小和文本樣式屬性來調(diào)整Button的字體。

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

<pre name="code"><?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:gravity="center">
 <Button
 android:id="@+id/Button01"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="@string/hello"
 android:minHeight="92dp"
 android:textSize="22dp"
 android:onClick="onMyButtonClick"></Button>
 <ImageButton
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/skater"
 android:id="@+id/ImageButton01"
 android:layout_toRightOf="@+id/Button01"></ImageButton>
 </RelativeLayout>
 </pre>

第4步:處理點擊

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

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

android:onClick="onMyButtonClick"

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

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

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

Handling a Button control click with a Toast

第5步:處理點擊——實現(xiàn)OnClickListener

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

要使用這個方法,你必須更新你的活動類以注冊控件點擊事件。通常情況下通過你的活動的onCreate()方法來實現(xiàn)。使用findViewById()方法找到控件然后使用它的setOnClickListener()方法來定義當它被點擊時的行為。你將需要自己去實現(xiàn)界面的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();
 }
 });

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

總結(jié)

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

【編輯推薦】

  1. Android學習筆記:Layout.xml屬性
  2. 解析Android樣式:布局是根本
  3. Android SDK工具:使用layoutopt進行布局優(yōu)化
     
責任編輯:佚名 來源: 互聯(lián)網(wǎng)的那點事
相關推薦

2011-04-11 17:25:30

線性布局用戶界面設計Android

2011-04-11 17:07:33

布局基礎用戶界面設計Android

2011-04-19 09:19:37

相對布局界面設計Android

2011-04-22 11:01:36

框架布局界面設計Android

2011-05-19 08:49:01

使用片段界面設計Android

2011-06-01 10:58:57

2011-06-01 10:30:41

用戶界面

2011-12-20 10:42:22

Android應用界面設計

2011-03-02 14:03:02

DashboardAndroid用戶界面反例模板

2011-03-02 10:49:42

DashboardAndroid用戶界面設計模板

2013-11-27 10:12:11

2012-01-16 16:16:49

JavaSwing

2011-06-01 16:50:05

Android ListView

2013-12-26 15:46:30

Android開發(fā)Android應用用戶界面設計

2014-11-26 10:42:55

界面設計

2011-06-01 09:31:46

用戶界面設計

2012-01-16 11:03:09

javaswing

2011-10-09 11:05:13

Android 4.0

2014-04-03 09:49:20

設計界面設計

2015-07-09 10:25:45

界面設計UI設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品电影| 国产精品久久久久久久免费大片 | 麻豆久久久久久 | 亚洲精品久久久久久久不卡四虎 | 午夜爱爱毛片xxxx视频免费看 | 无码一区二区三区视频 | 久久在线免费 | 久久久久久成人 | 欧美一区二区三区在线观看视频 | 国产精品大片 | 超碰在线人人干 | 天天操网 | 欧美激情第一区 | 午夜资源 | 日韩欧美国产一区二区三区 | 国产视频一区在线 | 日韩在线免费观看视频 | 91看片在线| 在线视频日韩 | 台湾a级理论片在线观看 | 国产日韩欧美综合 | 91看片免费 | 色婷婷精品国产一区二区三区 | 玖玖综合在线 | 在线成人www免费观看视频 | 久久国产一区二区三区 | 日本精品视频 | 美女视频久久 | 欧美区日韩区 | 国产精品一区二区三区久久 | 国产精品久久欧美久久一区 | 国产日韩欧美在线一区 | 香蕉一区 | 久久精品91| 一区二区三区四区不卡视频 | 久久视频精品 | 国产高清精品一区二区三区 | 亚洲成av人影片在线观看 | 日本在线播放一区二区 | 91精品久久久久久久 | 日韩和的一区二在线 |