編輯:Android開發實例
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 主要用來做提示的文本
同上,這裡不再贅述
希望我的教程,能給大家一點點幫助,也希望大家能給出我的不足和建議。來幫助我更好的去做教程,謝謝大家!
源代碼
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
本文實例講述了Android編程實現ImageView圖片拋物線動畫效果的方法。分享給大家供大家參考,具體如下: 想實現拋物線動畫,必須知道拋物線的方程,這時候數
前面文章介紹了Activity以及Intent的使用,本文就來介紹Service。如果把Activity比喻為前台程序,那麼Service就是後台程序,Servi
當我們第一次下載QQ並且打開的時候,會有一個新手引導,引導是幾張圖片,再加上一些文字說明,向右滑動,直到結束,今天一大早起來研究了一下關於此種效果的實現之View