任務2總結
通過任務2大致學習了TextView、EditView、Button、ImageView、CheckBox、RadioGroup、RadioButton等常用控件;也學習了一安卓常見的事件,如:onClick、onTouchEvent等事件;再到后來,簡單的學習了菜單和對話框的使用方法;現在我來一一簡單的總結一下各個的使用方法。
- 常用控件
- 常見事件
- 菜單對話框
- 總結
1.常用控件
TextView控件
TextView控件的功能主要向用戶顯示文本的內容,但是不允許編輯。它的主要常用的屬性有android:id;android:layout_width;android:layout_height;android:text;android:textSize等常用控件。下面是例子:
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="頭 像"
android:textSize="20sp"/>
可以通過xml中來修改某個屬性的值來控制TextView控件的表現形式
EditView控件
EditView控件是TextView的子類,所以也具有TextView的屬性特點,但是EditView比TextView多了幾個常用的特點,android:hint設置編輯框內容為空時顯示的提示信息;android:inputType設置文本的類型;android:digits設置允許輸入哪些字符;android:ems設置控件的寬度為多少個字符等;下面是例子:
<EditText
android:id="@+id/edit_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLength="40"
android:hint="請輸入用戶名"
android:ems="10"
android:textColorHint="#238745"/>
Button控件
Button也是非常重要的一個按鈕控件,它常用的控件屬性和上面的TextView、EditView控件屬性差不多,比較重要的是一定不要忘記給Button按鈕取id號,這是按鈕唯一的名字。這樣在程序中可以通過如下形式獲得按鈕:
button = (Button)findViewById(R.id.buttonId);
Button按鈕最主要的兩種處理方法:
第一種是通過onClick屬性,通過這個屬性設置處理點擊事件的方法名,在Activity中實現這個方法;第二種方法是典型的事件監聽機制的應用形式。
我先給出布局的代碼
<Button
android:id="@+id/button_first"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/buttonText"
android:onClick="changeButtonColor"
>
</Button>
<Button
android:id="@+id/button_second"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/buttonText2"
android:layout_below="@id/button_first"
>
</Button>
以下是給兩個按鈕分別設置不同的單擊事件
public class ButtonActivity extends Activity
{
private Button button01 = null;
private Button button02 = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
button01 = (Button)findViewById(R.id.button_first);
button02 = (Button)findViewById(R.id.button_second);
//綁定事件源和監聽器對象
button02.setOnClickListener(new MyButtonListener());
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.activity_button, menu);
return true;
}
//按鈕1的點擊事件
public void changeButtonColor(View view)
{
button01.setBackgroundColor(getResources().getColor(R.color.red));
}
//實現OnClickListener接口
//作為第二個按鈕的監聽器類
class MyButtonListener implements OnClickListener
{
public void onClick(View v)
{
button02.setBackgroundColor(getResources().getColor(R.color.blue));
}
}
ImageView控件
ImageView控件是用於展示圖片的控件,可以展示靜態圖片也能展示動態圖片,但是要注意圖片格式。這個控件中比較重要的屬性是android:src,用於設置ImageView中展示什么圖片,
需要注意的是,如果要使用圖片,一定要將圖片復制到相對應的drawable資源文件夾中,否則運行程序的時候回報錯,而且要注意圖片的名字最好是英文或數字
CheckBox控件
CheckBox控件和Button控件一樣,按鈕控件,是一個帶有選中或者未選中狀態的按鈕,CheckBox控件也擁有基本的屬性,它還有個android:checked屬性。
RadioButton、RadioGroup控件
RadioGroup控件是單選組合框,用於將RadioButton框起來。在沒有RadioGroup的情況下,RadioButton可以全部選中,然而如果被RadioGroup包含的情況下,RadioButton就只能選擇一個,可以實現單選的效果。RadioGroup控件主要通過getCheckRadioButtonId的方法來獲取RadioGroup中的哪一個RadioButton按鈕被選中。
2.常見事件
onClick事件
處理一個普通的按鈕事件
onTouchEvent事件
手機屏幕觸摸事件
鍵盤事件
3.菜單對話框
菜單
創建菜單的布局這一步就不用說了,還是很簡單的;其次是在布局上加載菜單,
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE,Menu.FIRST+1,1,"保存").setIcon(android.R.drawable.ic_menu_save);
menu.add(Menu.NONE,Menu.FIRST+2,3,"刪除").setIcon(android.R.drawable.ic_menu_delete);
menu.add(Menu.NONE,Menu.FIRST+3,2,"打開").setIcon(android.R.drawable.ic_menu_add);
return true;
}
然后就是為菜單注冊事件
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case Menu.FIRST+1:
Toast.makeText(this,"保存成功",Toast.LENGTH_LONG).show();
case Menu.FIRST+2:
Toast.makeText(this,"刪除成功",Toast.LENGTH_LONG).show();
case Menu.FIRST+3:
Toast.makeText(this,"成功打開",Toast.LENGTH_LONG).show();
}
return super.onOptionsItemSelected(item);
}
對話框
4.總結
已經學習了一個多月的安卓,從最開始的一臉懵逼,到現在多多少少有點了解,最喜歡的是做布局的時候,憑我自己的喜歡怎么設計界面,最憂傷的當然就是Java代碼那方面,實在是硬傷,不過一個多月過去了,套路還是學會寫了一點的,遇到難題網上搜搜唄。自己也是對計算機,敲代碼非常感興趣,所以希望能在日后克服Java所帶來的麻煩!
