3.23作業


任務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所帶來的麻煩!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM