(原創)【B4A】一步一步入門06:Button,背景圖片、漸變、圓角、FontAwesome(控制元件篇02)

leslie_xin發表於2023-03-07

一、前言

本篇教程,我們來講一下最常用的控制元件:Button(按鈕)。

本篇教程將會講解按鈕的文字樣式、背景樣式,以及諸如FontAwesome、圓角等如何設定。

相信看完的你,一定會有所收穫!

本文地址:https://www.cnblogs.com/lesliexin/p/17185756.html


二、 文字樣式

1,文字大小

我們在按鈕的屬性視窗中,設定屬性【文字屬性-Size】,即可調整按鈕文字的大小。具體效果如下:

image

2,文字顏色

我們點選屬性【文字屬性-Text Color】的下拉箭頭,即可選擇顏色或者輸入ARGB的值設定顏色。具體效果如下:

image

3,文字對齊方式

預設狀態下,按鈕文字是“上下居中”、“左右居中”的,我們透過【文字屬性-Horizontal Alignment】和【文字屬性-Vertical Alignment】這兩個屬性來設定文字的對齊方式。

Horizontal Alignment的3個屬性值是:LEFT(居左)、RIGHT(居右)、CENTER_HORIZONTAL(左右居中)。Vertical Alignment的3個屬性值是:TOP(居上)、BOTTOM(居下)、CENTER_VERTICAL(上下居中)。

具體效果如下:

image

4,文字樣式

屬性【文字屬性-Style】可以設定按鈕文字樣式,其屬性值分別是:NORMAL(正常)、BOLD(粗體)、ITALIC(斜體)、BOLD_ITALIC(粗斜體)。具體效果如下:

image

5,文字字型

在屬性【文字屬性-Typeface】中,可以設定文字的字型,其屬性值分別是:DEFAULT(預設)、SERIF(襯線字型)、SANS-SERIF(無襯線字型)、MONOSPACE(等寬字型)、FontAwesome(FontAwesome圖示)、Material Icons(Material圖示)。

其中,FontAwesome、Material Icons 可以快速選擇圖示,此圖示包含常用的功能圖示,操作方式如下:

image

文字字型各屬性值對應的效果如下:

image

6,單行顯示、文字擷取

預設情況下,當按鈕文字內容超出控制元件範圍時,將會自動換行顯示,如果不需要,則可以設定屬性【檔案屬性-Single Line】,此時按鈕文字將不會自動換行。同時因為不再換行顯示,所以可能會出現文字被截斷的情況,如圖所示:

image

此時,可以設定屬性【文字屬性-Ellipsize】,以將多餘的文字將以“...”代替。其屬性值有:NONE、START、MIDDLE、END,具體效果如圖所示:

image


三、 背景樣式

預設狀態下,按鈕均是系統的預設樣式,如果需要設定背景顏色、圓角等,就需要設定屬性【Button Properties-Drawable】。其屬性值有兩個:DefaultDrawbale(預設繪製方式)和StatelistDrawble(狀態列表繪製方式)。

選中StatelistDrawble後,會有三個狀態可以自定義,分別是:Enabled Drawaable(正常狀態)、Disabled Drawable(不可用狀態)、Pressed Drawable(按下時狀態)。如圖所示:

image

此三種狀態的具體樣式設定方式是一樣的,所以本教程僅以Enabled Drawaable為例進行演示和講解。

Enabled Drawaable有三種繪製方式:ColorDrawable(背景顏色)、GradientDrawable(漸變背景)、BitmapDrawable(背景圖片),下面我們分別進行講解。

(一)ColorDrawable(背景顏色)

我們選擇此項後,共有四個屬性可供設定。

1,Color

設定按鈕的背景顏色,可以選擇或者輸入ARGB的值進行設定。

2,邊框角度

設定邊框角度,0即是直角,大於0則為圓角,當角度大於寬度的一半時,按鈕則顯示為圓形。

3,邊框寬度

設定模型的寬度,0即是沒有邊框,大於0則顯示指定寬度的邊框。

4,邊框顏色

設定邊框的顏色,可以選擇或者輸入ARGB的值進行設定。

具體效果如下:

image

(二)GradientDrawable(漸變背景)

我們選擇此項後,共有四個屬性可供設定。

1,Corner Radius

設定邊框角度,0即是直角,大於0則為圓角,當角度大於寬度的一半時,按鈕則顯示為圓形。

2,首先顏色

設定漸變的開始顏色,可以選擇或者輸入ARGB的值進行設定。

3,次選顏色

設定漸變的結束顏色,可以選擇或者輸入ARGB的值進行設定。

具體效果如下:

image

4,方向

設定漸變的方向,共有8個選項:LEFT_RIGHT(從左往右)、RIGHT_LEFT(從右往左)、TOP_BOTTOM(從上往下)、BOTTOM_TOP(從下往上)、TL_BR(從左上往右下)、BR_TL(從右下往左上)、BL_TR(從左下往右上)、TR_BL(從右上往左下)。具體效果如下:

image

(三)BitmapDrawable(背景圖片)

我們選擇此項後,共有兩個屬性可供設定。

1,影像檔案

設定圖片的背景圖片,支援透明。

首先需要將圖片檔案使用【檔案視窗-新增檔案】的方式新增到設計器中,然後再選擇圖片。具體操作步驟如下:

image

2,Gravity

設定圖片的填充試,共有3個選項:Fill(圖片適應控制元件尺寸,會發生拉伸壓縮)、Center(圖片保持原始尺寸、比例,圖片中心位於控制元件中心)、Top-Left(圖片保持原始尺寸、比例,圖片左上角位於控制元件左上角)。具體效果如下:

image


四、按鈕事件

按鈕共有兩個事件:Click(點選)和LongClick(長按)。

1,Click(點選)

在點選控制元件時,將觸發本事件,本事件是按鈕最常用的事件。

2,LongClick(長按)

長按此控制元件,將觸發本事件。

事件操作演示:

image


五、結語

本篇教程將Button(按鈕)控制元件的常用屬性都進行了介紹,在日常使用中,這些屬性已經基本夠用。

因為控制元件的很多屬性與事件都是類似的,所以在後續教程中,控制元件的類似屬性將不再贅述,參考本篇中的講解即可。


-【END】-

相關文章