Android Button的基本使用
title: Android Button的基本使用
tags: Button,按鈕
Button介紹:
Button(按鈕)繼承自TextView,在Android開發中,Button是常用的控制元件,用起來也很簡單,你可以在介面xml描述文件中定義,也可以在程式中建立後加入到介面中,其效果都是一樣的。不過最好是在xml文件中定義,因為一旦介面要改變是話,直接修改一下xml就行了,不用修改Java程式,並且在xml中定義層次分明,一目瞭然。
Button 支援的 XML 屬性及相關方法
XML 屬性 | 相關方法 | 說明 |
---|---|---|
android:clickable | setClickable(boolean clickable) | 設定是否允許點選。 clickable=true:允許點選 clickable=false:禁止點選 |
android:background | setBackgroundResource(int resid) | 通過資原始檔設定背景色。 resid:資源xml檔案ID 按鈕預設背景為android.R.drawable.btn_default |
android:text | setText(CharSequence text) | 設定文字 |
android:textColor | setTextColor(int color) | 設定文字顏色 |
android:onClick | setOnClickListener(OnClickListener l) | 設定點選事件 |
下面通過例項來給大家介紹Button的常用效果。
例項:Button點選事件寫法1、寫法2、設定背景圖片、設定背景顏色、設定背景shape、V7包按鈕樣式
我們首先來看一下佈局檔案:activity_main.xml
<?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"
android:layout_marginLeft="10dp"
android:orientation="vertical">
<Button
android:id="@+id/btn_click_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button點選事件寫法1" />
<Button
android:id="@+id/btn_click_two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="Button點選事件寫法2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@mipmap/icon_button_bg"
android:padding="10dp"
android:text="Button設定背景圖片" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@android:color/holo_red_dark"
android:padding="10dp"
android:text="Button設定背景顏色" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/shape_button_test"
android:padding="10dp"
android:text="Button設定shape" />
<TextView
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="10dp"
android:text="V7包按鈕樣式"
android:textColor="#ffffffff"
android:textSize="20sp" />
</LinearLayout>
佈局檔案對應的效果圖如下:
上面佈局檔案中定義了6個Button,它們指定的規則如下。
1.給Button指定了android:id="@+id/btn_click_one",在MainActivity.xml根據id進行查詢並且設定點選事件。
//給第一個按鈕設定點選事件
findViewById(R.id.btn_click_one).setOnClickListener(onClickListener);
點選之後進行Toast提示。
private View.OnClickListener onClickListener=new View.OnClickListener() {
@Override
public void onClick(View v){
Toast.makeText(MainActivity.this,"Button點選事件1",Toast.LENGTH_LONG).show();
}
};
2.給xml中給button增加了android:onClick="click"屬性,然後在該佈局檔案對應的Acitivity中實現該方法。需要注意的是這個方法必須符合三個條件:
1).方法的修飾符是 public
2).返回值是 void 型別
3).只有一個引數View,這個View就是被點選的這個控制元件。
public void click(View v){
switch (v.getId()){
case R.id.btn_click_two:
Toast.makeText(MainActivity.this,"Button點選事件2",Toast.LENGTH_LONG).show();
break;
}
}
3.設定一張背景圖片
android:background="@mipmap/icon_button_bg"
4.設定背景顏色
android:background="@android:color/holo_red_dark"
5.設定背景shape,android:background="@drawable/shape_button_test",可以自定義Button的外觀,從效果圖中我們可以看到Button背景透明,有邊框,有弧度。
shape_button_test.xml檔案如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 預設背景色 -->
<solid android:color="@android:color/transparent"/>
<!-- 邊框 -->
<stroke
android:width="1dp"
android:color="@android:color/black" />
<!-- 設定弧度 -->
<corners
android:radius="20dp"/>
</shape>
6.設定按鈕的樣式
style="@style/Widget.AppCompat.Button.Colored"
這是V7包裡面自帶的style樣式。按鈕的顏色是ButtonTest/app/src/main/res/values/colors.xml下name="colorAccent"的顏色。
Button使用注意事項:
1.Button的setOnClickListener優先順序比xml中android:onClick高,如果同時設定點選事件,只有setOnClickListener有效。
2.能用TextView就儘量不要用Button,感覺TextView靈活性更高。(純屬個人意見)
學到了以上幾招,能解決開發中Button的大部分用法。
點選下載原始碼
各位看官如果覺得文章不錯,幫忙點個贊吧,對於你來說是舉手之勞,但對於我來說這就是堅持下去的動力。
如果你想第一時間看我們的後期文章,掃碼關注公眾號,每週不定期推送Android開發實戰教程文章,你還等什麼,趕快關注吧,學好技術,出任ceo,贏取白富美。。。。
Android開發666 - 安卓開發技術分享
掃描二維碼加關注
相關文章
- Android中Button呼叫getText()的思考Android
- Android JNI的基本使用(CMake)Android
- MFC控制元件之Button基本用法控制元件
- Android Button 點選效果Android
- android:Button控制元件Android控制元件
- Android PopUpWindow基本使用Android
- android自定義button樣式Android
- Android Volley 基本使用Android
- Android Jetpack(2):DataBinding的基本使用AndroidJetpack
- android:listView Button 焦點問題AndroidView
- Android基礎-Activity基本使用Android
- Android Jetpack Navigation基本使用AndroidJetpackNavigation
- Android中Button設定background過程的研究Android
- <button>和<input type=“button“> 的區別
- <input type="button">和<button>的區別
- Android程式碼實現自定義ButtonAndroid
- Android開發之給你的Button加個背景Android
- Android的Paint、Canvas和Path基本使用總結AndroidAICanvas
- Android入門教程 | Button,TextView背景設定AndroidTextView
- Android UI控制元件系列:Button(按鈕)AndroidUI控制元件
- Android框架第(五)篇---Retrofit基本使用Android框架
- Android Activity的基本理解Android
- android checkbox自定義去修改background而不是buttonAndroid
- jQuery :buttonjQuery
- 【Android 修煉手冊】Gradle 篇 -- Gradle 的基本使用AndroidGradle
- Vuex的基本使用Vue
- mongoose的基本使用Go
- mysqli的基本使用MySql
- mybatis的基本使用MyBatis
- RecyclerView 的基本使用View
- Bootstrap 的基本使用boot
- github的基本使用Github
- jQuery的基本使用jQuery
- GCD的基本使用GC
- Promise的基本使用Promise
- pymongo的基本使用Go
- pymssql的基本使用SQL
- 示波器的基本使用: