欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中Button實(shí)現(xiàn)點(diǎn)擊換圖案及顏色

 更新時(shí)間:2022年01月19日 16:26:05   作者:ShadyPi  
大家好,本篇文章主要講的是Android中Button實(shí)現(xiàn)點(diǎn)擊換圖案及顏色,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下

基本框架

<?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:orientation="vertical">

    <Button
        android:layout_width="200dp"
        android:layout_height="100dp"/>

</LinearLayout>

基本屬性

在上面的xml文件中Ctrl+左鍵點(diǎn)進(jìn)Button可以看到該類是繼承自TextView類的,也就是說在TextView部分講到的都可以用在Button上。

在這里插入圖片描述

文本與背景

在這里我們就簡單的設(shè)置下按鈕上的文本為"Push Me",背景顏色設(shè)置為紫色(這兩個(gè)資源都被保存在values文件夾的三個(gè)xml文件里),但奇怪的是文本都被強(qiáng)制轉(zhuǎn)換成了大寫,而設(shè)置背景也無效。

在這里插入圖片描述

主題修改

問題出在主題文件themes.xml上,我們需要進(jìn)入該文件,將textAllCaps設(shè)為false,就可以取消強(qiáng)制大寫,即加入下面的代碼:

<item name="textAllCaps">true</item>

然后我們還需要把基礎(chǔ)主題文件由

<style name="Theme.MyButton" parent="Theme.MaterialComponents.DayNight.DarkActionBar">

改為

<style name="Theme.MyButton" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">

這樣就可以讓我們的設(shè)置生效了:

在這里插入圖片描述

雖然設(shè)置了按鈕的基本屬性,但是現(xiàn)在這個(gè)按鈕看上去跟TextView也沒什么區(qū)別,點(diǎn)擊也毫無反應(yīng),接下來我們就要設(shè)置一下點(diǎn)擊效果。

點(diǎn)擊效果

本次要實(shí)現(xiàn)的效果主要是點(diǎn)擊以后按鈕的背景隨之更換,所以我們在res->drawable文件夾下新建一個(gè)Drawable Resource文件,起名為background_shift。可以看到,該文件的根節(jié)點(diǎn)為圖片選擇器selector

圖片變換

然后我們加入一點(diǎn)圖片資源,點(diǎn)擊res,右鍵new->Vector Asset,進(jìn)入這個(gè)界面后點(diǎn)擊Clip Art選擇一個(gè)喜歡的圖標(biāo),比如我選擇了WiFi:

在這里插入圖片描述

同時(shí)我另導(dǎo)入了一張WiFi關(guān)閉的圖標(biāo)。

導(dǎo)入后,就可以在background_shift文件中使用了,在這里我通過state_pressed設(shè)置按下時(shí)顯示W(wǎng)iFi,不按下時(shí)顯示W(wǎng)iFi關(guān)閉,代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/ic_baseline_wifi_24" android:state_pressed="true"/>
    <item android:drawable="@drawable/ic_baseline_wifi_off_24" android:state_pressed="false"/>

</selector>

寫好了background_shift.xml,就可以在activity_main.xml中使用了,將Buttonbackground屬性設(shè)置為該資源即可實(shí)現(xiàn)背景變換。

在這里插入圖片描述

顏色變換

做顏色變換與圖像變換類似,不同之處在于資源存放位置不同。在res文件夾,我們新建一個(gè)color文件夾,右擊rec,在new->Directory中新建文件夾,取名color

在這里插入圖片描述

之后在color中也建立一個(gè)Drawable Resource文件,然后設(shè)定按下時(shí)為藍(lán)色,默認(rèn)為紅色:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="#ff0000ff" android:state_pressed="true"/>
    <item android:color="#ffff0000"/>

</selector>

有了這個(gè)顏色變換文件,我們就可以在activity_main.xml中將ButtonbackgroundTint設(shè)置為該資源從而實(shí)現(xiàn)顏色變換。

在這里插入圖片描述

除了背景顏色,還有foregroud前景色,這個(gè)是最上層的顏色,會(huì)覆蓋整個(gè)圖層,不常用。

總結(jié)

到此這篇關(guān)于Android中Button實(shí)現(xiàn)點(diǎn)擊換圖案及顏色的文章就介紹到這了,更多相關(guān)Android Button點(diǎn)擊換圖案及顏色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論