97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠(yuǎn)見教育科技集團(tuán) >> 新聞動態(tài) >> Android資料 >> Android系統(tǒng)控件Button 和 ImageButton  
 
Android系統(tǒng)控件Button 和 ImageButton
分享到:

Android系統(tǒng)控件Button是一種按鈕控件,用戶能夠在該控件上點擊,并后引發(fā)相應(yīng)的事件處理方法;ImageButton用以實現(xiàn)能夠顯示圖像功能的控件按鈕。下面通過一個例子來加深對這兩個控件的理解。

1.建立一個“ButtonDemo”的程序

程序包含Button和ImageButton兩個按鈕,上方是“Button按鈕”,下方是一個ImageButton控件,如圖-1所示。


代碼清單1 main.xml

ButtonDemo在XML文件中的代碼如代碼清單1所示。

ButtonDemo在XML文件中的代碼如代碼清單1所示。

<Button android:id="@+id/Button01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button01" >
    </Button>
    <ImageButton android:id="@+id/ImageButton01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </ImageButton>

在上述代碼中,定義Button控件的高度、寬度和內(nèi)容及ImageButton控件的高度和寬度,但是沒定義顯示的圖像,在后面的代碼中進(jìn)行定義。

2.引入資源

將download.png文件復(fù)制到/res/drawable文件夾下,在/res目錄上選擇Refresh,就可以看到新添加的文件顯示在/res/drawable文件夾下,同時R.java文件內(nèi)容也得到了更新,否則提示無法找到資源的錯誤。

3.更改Button和ImageButton內(nèi)容

在ButtonDemo.java中引入android.widget.Button和android.widget.ImageButton,并修改其代碼如代碼清單2所示。

代碼清單2 ButtonDemo.java

Button button = (Button)findViewById(R.id.Button01);
    ImageButton imageButton = (ImageButton)findViewById(R.id.ImageButton01);
    button.setText("Button按鈕");
    imageButton.setImageResource(R.drawable.download);

上述代碼中,第1行代碼用于引用在XML文件中定義的Button控件。

第2行代碼用于引用在XML文件中定義的ImageButton控件。

第3行代碼將Button的顯示內(nèi)容更改為“Button按鈕”。

第4行代碼利用setImageResource()方法,將新加入的png文件R.drawable.download傳遞給ImageButton。

4.按鈕響應(yīng)點擊事件:添加點擊事件的監(jiān)聽器

在ButtonDemo.java中添加代碼清單3所示的代碼。

代碼清單3 ButtonDemo.java

final TextView textView = (TextView)findViewById(R.id.TextView01);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            textView.setText("Button按鈕");
        }
    });
    imageButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            textView.setText("ImageButton按鈕");
        }
    });

在本段代碼中,第2行代碼中button對象通過調(diào)用setOnClickListener()方法,注冊一個點擊(Click)事件的監(jiān)聽器View.OnClickListener()。

第3行代碼是點擊事件的回調(diào)方法。

第4行代碼將TextView的顯示內(nèi)容更改為“Button按鈕”。

這里我們來了解一下View.OnClickListener()。

View.OnClickListener()是View定義的點擊事件的監(jiān)聽器接口,并在接口中僅定義了onClick()方法。當(dāng)Button從Android界面框架中接收到事件后,首先檢查這個事件是否是點擊事件,如果是點擊事件,同時Button又注冊了監(jiān)聽器,則會調(diào)用該監(jiān)聽器中的onClick()方法。每個View僅可以注冊一個點擊事件的監(jiān)聽器,如果使用setOnClickListener()方法注冊第二個點擊事件的監(jiān)聽器,之前注冊的監(jiān)聽器將被自動注銷。

多個按鈕注冊到同一個點擊事件的監(jiān)聽器上,代碼如代碼清單4所示。

代碼清單4 多個按鈕注冊到一個點擊事件的監(jiān)聽器上

Button.OnClickListener buttonListener = new Button.OnClickListener(){
        @Override
            public void onClick(View v) {
                switch(v.getId()){
                    case R.id.Button01:
                    textView.setText("Button按鈕");
                    return;
                    case R.id.ImageButton01:
                    textView.setText("ImageButton按鈕");
                    return;
                }
        }};
        Button.setOnClickListener(buttonListener);
        ImageButton.setOnClickListener(buttonListener);

該段代碼中,第1行至第12行代碼定義了一個名為buttonListener的點擊事件監(jiān)聽器;第13行代碼將該監(jiān)聽器注冊到Button上;第14行代碼將該監(jiān)聽器注冊到ImageButton上。

 更多相關(guān)文章

·Android系統(tǒng)控件TextView和EditText
·Android界面布局之絕對布局
·Android界面布局之相對布局
·Android系統(tǒng)層次結(jié)構(gòu)及分析
·Android 控件動畫效果的實現(xiàn)