解決方案:經典的解決方案,一種是使用xml,一種是寫在**裡。
1.使用選擇器selector
eg:<?xml version="1.0" encoding="utf-8"?>
" >
引用:android:backgroud="@drawable/button_selector"
2.如果在**中設定
可以根據ontouch的down事件和up事件來設定對應的
eg:@override
public boolean ontouch(view v, motionevent event) else if (event.getaction() == motionevent.action_up)
return false;
}3.使用濾鏡
eg:@override
public boolean ontouch(view v, motionevent event) else if (event.getaction() == motionevent.action_up)
return false;
}注:porterduff類
porterduff:
從上面我們可以看到porterduff.mode為列舉類,一共有16個列舉值:
1.porterduff.mode.clear
所繪製不會提交到畫布上。
2.porterduff.mode.src
顯示上層繪製
3.porterduff.mode.dst
顯示下層繪製
4.porterduff.mode.src_over
正常繪製顯示,上下層繪製疊蓋。
5.porterduff.mode.dst_over
上下層都顯示。下層居上顯示。
6.porterduff.mode.src_in
取兩層繪製交集。顯示上層。
7.porterduff.mode.dst_in
取兩層繪製交集。顯示下層。
8.porterduff.mode.src_out
取上層繪製非交集部分。
9.porterduff.mode.dst_out
取下層繪製非交集部分。
10.porterduff.mode.src_atop
取下層非交集部分與上層交集部分
11.porterduff.mode.dst_atop
取上層非交集部分與下層交集部分
12.porterduff.mode.xor
異或:去除兩圖層交集部分
13.porterduff.mode.darken
取兩圖層全部區域,交集部分顏色加深
14.porterduff.mode.lighten
取兩圖層全部,點亮交集部分顏色
15.porterduff.mode.multiply
取兩圖層交集部分疊加後顏色
16.porterduff.mode.screen
取兩圖層全部區域,交集部分變為透明色
4.介紹另一種方法,使imagebutton有按下的特效,只需要準備一張普通的,不需要按下效果的。
直接看示例**,
①建立 touchlight 和 touchdark 這兩個 ontouchlistener,
②然後給 imagebutton 設定ontouchlistener就行了,
③如果使用touchlight,則按下效果是按鍵變亮;另乙個就是變暗。
多種方法實現素數的判斷
素數的定義 指整數在乙個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。換句話說,只有兩個正因數 1和自己 的自然數即為素數。我將給出幾種實現對自然數n進行素數的判斷方法,主要從 的執行效率上考慮這個問題。首先,根據素數的定義,大家都會想到的乙個方法就是遍歷2 n 1,如果n能被其...
用原生JS寫點選元素變色的多種方法
一組陣列元素,點選其中某乙個陣列元素,被點選的那個元素就會變色或者放大,也就是樣式有修改,這是我們經常用到的功能,我們經常實現這個功能用到的一般都是兩個迴圈,第乙個迴圈給每個元素繫結事件,第二個迴圈為所有元素樣式變成預設。var headcel document.getelementbyid hea...
hdu 5690 多種方法實現
太菜了 比賽的時候下面羅列的方法大致方向都想對了 但都差了一點 沒敢寫 不夠自信 第一種方法 找迴圈節法 注意迴圈節不一定就從第乙個開始 include include define ll int64 using namespace std int vis 10005 int num 10005 i...