Android開發教程 — 葵花寶典第三層 控制項之 Button CheckBox EditText TextView

來源:互聯網
上載者:User

Hi 大家好!

今天開始,我將陸續編寫Android UI中的常用控制項,來協助大家學習這些控制項。

照例,上笑話。。。

    A先生髮現妻子的手機上經常有一則陌生人的簡訊,而且每次簡訊的內容都是一樣的:“趙兄托你幫我辦點事。”一天晚上十點半,A先生一舉將出軌的妻子和那個正在苟合的男人擒拿後,大罵:TMD,你以為那簡訊我看不懂?倒過來讀就 是“十點半我幫你脫胸罩"!

這節主要講4個控制項,分別是Button CheckBox EditText TextView

這4個控制項將是使用頻率很高的控制項,也是比較簡單的控制項。

我在這裡已經編寫好了每一個控制項,以及注釋,來方便大家熟悉。每一個控制項都是一個活動(表單),如

將程式運行起來後,預設顯示的是ButtonActivity活動,效果如下

1 Button

當程式運行起來,預設就是Button控制項的頁面,大家也看到了表單中擺放了很多的按鈕,那麼如何去定義一個Button呢?

思路是這樣的:先去建立一個布局檔案,然後在布局檔案中添加這個表單所需的控制項,然後在Activity中綁定這個布局檔案,在Activity中也能通過代碼的方式,修改控制項屬性,綁定事件等。。。

有了這樣的思路我們就開始幹活。

1 建立一個布局檔案,在項目的 res檔案夾 –> layout檔案夾

右鍵 建立-> 檔案

在彈出的對話方塊中的檔案名稱後去填寫這個檔案的名稱,我們取名叫做

button.xml

或者也可以這樣建立

注意,選擇其他選項

注意:建立名稱時,不要使用特殊字元和大寫字母。否則你將無法正確建立出布局檔案。。

當我們建立成功後,在雙擊開啟XML檔案 然後切換到程式碼檢視

然後在LinearLayout中間添加一個Button標籤,如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
      <Button android:id="@+id/btn1"

android:layout_width="fill_parent"
    android:layout_height="wrap_content"

android:text="@string/btnck" />
</LinearLayout>

顏色代表的含義:

紅色: 代表你所建立出的控制項是什麼

藍色: 為所建立出來的控制項賦一個ID,最好是一個唯一的名字,這個ID將會在gen檔案夾下的R.java中的Class ID類中產生一個int 類型的常量,至於有什麼用處,如果做過編程,都知道我們要在後台擷取這些控制項,來控制它們,修改屬性啊,擷取使用者的操作等。後面將會說道在代碼中如果使用。

紫色: 代表這個控制項的寬度和高度。

            fill_parent :代表此控制項將鋪滿父類定義的寬度(如果父類定義的寬度也是fill_parent ,那麼代表父類的寬高,為整個螢幕大小),那麼這個控制項的寬度將鋪滿螢幕。

          match_parent:和上邊的fill_parent 一樣,都是鋪滿,區別在於match_parent屬性是Android2.2及以上的版本中才會有。

         wrap_content:代表自適應高度,即:內容有多高,那麼它就顯示多高。

黃色: 代表你將在控制項中顯示什麼文本。這裡我們使用的是MVC模式,即在string.xml中定義好,然後在這裡應用。

到這裡第一步完成,接下來就是在Activity中去引用這個布局檔案。

通過setContentView方法就可以將我們剛才定義的布局檔案和這個表單綁定上,然後就可以直接運行。

運行出來後,控制項能正常顯示,但是沒有任何功能,這顯然也沒有太多的意義,下面就是通過代碼來控制控制項及綁定事件的操作。

還記得剛才我們在XML中設定的那個ID嗎?

這裡,通過  btn1 =(Button)findViewById(R.id.btn1);方式,就可以將剛才定義的那個Button控制項擷取到,並賦給btn1對象。btn1是一個Button對象。

通過btn1對象就可以給這個按鈕設定一些外觀屬性,如。

綁定事件

這段代碼首先使用了setOnClickListener方法,並使用了一個匿名內部類來實現一個Button的單擊事件。裡面的Intent 以及startActivity方法,在我之前的教程中都有介紹,如果大家遺忘了可以在去看看。

到這裡,我們的Button就介紹到這裡,Button主要就是擷取使用者的點擊,然後對應的在onClick裡做你需要的處理。

2 CheckBox

先來看看CheckBox張啥樣,以及可以幹什麼,

是不是和我們的HTML中的checkbox一樣?是的,其實就是一個多選按鈕,操作還是比較簡單,直接貼代碼了

也是一樣,這裡我建立了一個checkbox.xml布局檔案,以及一個叫CheckBoxActivity.java的Activity

然後是CheckBoxActivity.java,我先定義了一些全域變數,你需要在表單中用到什麼類型的控制項,就先去聲明什麼類型的控制項對象,然後通過findViewById方法擷取它們,然後再操作這些控制項對象。如

首先,將布局XML與表單綁定,然後再逐一擷取控制項

可以和上邊所講的Button一樣,設定外觀屬性或者綁定事件,我在這裡直接為CheckBox綁定了選項變更事件監聽器

當複選框的選中狀態發生改變時將會觸發onCheckedChanged函數,通過checkBox1.isChecked()方法就能擷取到此複選框現在的狀態 true為選中狀態,false為未選中狀態。

3 EditText

編輯框操作也是比較簡單,直接貼代碼

運行

4 TextView 主要用來做提示的文本

同上,這裡不再贅述

希望我的教程,能給大家一點點協助,也希望大家能給出我的不足和建議。來協助我更好的去做教程,謝謝大家!

原始碼已經上傳到天聖達網站,大家可以去下載:北京天聖達科技有限公司

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.