我正在編寫一個Android應用程序,現在我正在設計它。我正在使用一個自定義主題,它是Theme.Holo.Light
的子項。我非常喜歡Theme.Holo.Light
,因爲它的按鈕在點擊並按住時有特殊效果。就像下面的圖片下方按鈕:爲什麼按鈕在改變顏色後會失去原來的行爲?
上按鈕已經變了顏色。現在當我點擊那個按鈕時,它沒有那個效果。我真的不明白爲什麼。任何人都可以告訴我爲什麼會發生這種情況,如何用彩色按鈕獲得相同的效果?
而且,彩色按鈕看起來更胖。
我正在編寫一個Android應用程序,現在我正在設計它。我正在使用一個自定義主題,它是Theme.Holo.Light
的子項。我非常喜歡Theme.Holo.Light
,因爲它的按鈕在點擊並按住時有特殊效果。就像下面的圖片下方按鈕:爲什麼按鈕在改變顏色後會失去原來的行爲?
上按鈕已經變了顏色。現在當我點擊那個按鈕時,它沒有那個效果。我真的不明白爲什麼。任何人都可以告訴我爲什麼會發生這種情況,如何用彩色按鈕獲得相同的效果?
而且,彩色按鈕看起來更胖。
這是因爲該按鈕使用選擇器根據點擊的狀態顯示不同的顏色/效果/繪圖。您可以查看Color State List Resource上的鏈接。
要創建你自己的你必須創建一個slecetor cml文件,並把它放在你的drawables文件夾中。
例如,
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_btn_default_normal_gray" android:state_enabled="true" android:state_pressed="false"/>
<item android:drawable="@drawable/shape_btn_default_pressed_gray" android:state_pressed="true"/>
<item android:drawable="@drawable/shape_btn_default_disabled_gray"/>
</selector>
或顏色
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/dark_green" android:state_enabled="true" android:state_pressed="false"/>
<item android:drawable="@color/light_green" android:state_pressed="true"/>
<item android:drawable="@color/gray"/>
</selector>
若要將此你必須設置背景繪製在這樣的佈局XML。
<Button
android:id="@+id/my_btn"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Some text"
android:background="@drawable/selector_btn_default_gray"/>
這就是材料設計的「漣漪效應」。
您已經爲此定義了自己的樣式。
下面的鏈接可能會幫助你,或者你可以在StackOverflow上搜索許多其他答案。
Material effect on button with background color
它不會失去它的行爲,你可以點擊(在你的第二個圖像)之後看到按鈕顯示相同的比例上面有...所以默認背景設置爲表明它是button
(與padding
左右一樣)並且可以更改爲顯示oncklick
效果... 所以,當您將您的願望背景設置爲按鈕時......您需要完全更改當前的內容,然後您必須手動設置onclick
效果..
我覺得你的效果和顏色的顏色按鈕是相同的,所以你沒有看到它。嘗試將按鈕的顏色更改爲其他,並參見 –