Android開發中Button組件的使用
前言
安卓系統中,Button是程序和用戶進行交互的一個重要控件,今天我們就來簡單的對Button進行學習,其中Button組件是文本按鈕(繼承自TextView),而ImageButton是圖像按鈕(繼承自ImageView)。兩者之間的區別在于:
1、Button即可顯示文本也可顯示圖形(通過設置背景圖),而ImageButton只能顯示圖形不能顯示文本; 2、Button可在文本周圍區域顯示小圖,而ImageButton無法在某個區域顯示小圖; 3、ImageButton上的圖像可按比例進行拉伸,而Button上的大圖會拉伸變形(因為背景圖無法按比例拉伸);從上面可以看出,Button的適應面更廣,所以實際開發中基本使用Button。
使用
在界面顯示
首先我們能夠xml文件中加入Button,如下面代碼所示:
<?xml version='1.0' encoding='utf-8'?><android.support.constraint.ConstraintLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.ButtonActivity'> <Button android: android:layout_width='match_parent' android:layout_height='wrap_content' android:text='Hello World!' /></android.support.constraint.ConstraintLayout>
加入之后顯示效果如下所示:
button說明
就這樣,我們就在活動中加入了一個Button控件,并且命名為Hello World,但是有沒有發現活動上現實的名稱和我們輸入的名稱是不是不一樣呢?這是由于系統會對Button控件中所有的英文字母自動進行大寫轉換,當然,我們肯定需要禁用這一屬性,如下面代碼,我們進行對這一屬性進行禁用
<?xml version='1.0' encoding='utf-8'?><android.support.constraint.ConstraintLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.ButtonActivity'> <Button android: android:layout_width='match_parent' android:layout_height='wrap_content' android:text='Hello World!' android:textAllCaps='false' /></android.support.constraint.ConstraintLayout>
上面代碼中,我們使用了android:textAllCaps='false'進行對默認全部大寫進行禁用,當然對于按鈕控件不僅僅就這么簡單的一些屬性,詳細信息可通過該文檔詳細了解。
現在我們的按鈕正常顯示在活動中,但是我們該怎么讓他點擊時能夠響應,其實響應的方法有很多,下面就來說說常見的兩種響應方法
添加響應事件
匿名內部類<第一種方法就是在ButtonActivity中為Button添加監聽器,如下面代碼所示:
package com.example.jkwu.uicomponent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;public class ButtonActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button); Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 在這里實現響應 // 我們在這里就進行Toast Toast.makeText(ButtonActivity.this, '點擊響應,通過匿名內部類實現', Toast.LENGTH_SHORT).show(); } }); }}
效果如下所示:
button點擊響應說明
這樣,每當點擊按鈕的時候,就會執行監聽器中onClick()方法,我們只需要在這個方法中加入我們需要處理的邏輯就好。
實現接口第二種方法就是使用實現接口的方法進行實現注冊監聽器的功能,代碼如下所示:
package com.example.jkwu.uicomponent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;public class ButtonActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_button); Button button = findViewById(R.id.button); button.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button: // 實現處理邏輯 Toast.makeText(ButtonActivity.this, '點擊響應,通過實現接口實現', Toast.LENGTH_SHORT).show(); break; default: break; } }}
實現效果如下所示:
button點擊響應說明
上面兩種方法是最常用的響應點擊事件的方法
到此這篇關于Android開發中Button組件的使用的文章就介紹到這了,更多相關Android中Button組件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: