android 圖片點(diǎn)擊效果的實(shí)現(xiàn)

一般的APP的圖片都有會設(shè)置點(diǎn)擊效果,在點(diǎn)擊圖片時上面加一個半透明的陰影效果属瓣。這個我們可以在res/drawable下定義一個 selctor.xml,然后設(shè)置ImageView的src或者background時使用定義的selctor.xml就可以了对蒲。

公司美工做兩張圖片萝快,點(diǎn)擊時顯示另一張。代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_home_bg" android:state_pressed="true"/> 
    <item android:drawable="@drawable/ic_home" android:state_pressed="false"/>
</selector>

也可以用一張圖片庙睡,陰影效果自己加事富,state_pressed="true"時引用另一個layer-list.xml技俐,在圖片上面疊加一個透明的顏色值。我一般用color="#55000000" 统台。如果碰到圓角圖片還需要設(shè)置shape雕擂。

最近項(xiàng)目中首頁上的網(wǎng)絡(luò)獲取的圖片需要加點(diǎn)擊效果,因?yàn)椴皇潜镜貓D片贱勃,所以不能去定義selctor去實(shí)現(xiàn)捂刺。就立馬想到了監(jiān)聽觸摸事件OnTouch去setColorFilter來實(shí)現(xiàn)。

自定義一個ClickImageView去繼承自ImageView募寨,直接在布局文件中用這個ClickImageView就可以了族展。代碼如下:

public class ClickImageView  extends ImageView{


    public ClickImageView(Context context, AttributeSet attrs, int defStyleAttr) {
       super(context, attrs, defStyleAttr);
       init();
    }

    public ClickImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public ClickImageView(Context context) {
        super(context);
        init();
    }


    private void init() {
        setOnTouchListener(onTouchListener);
    }
    private OnTouchListener onTouchListener=new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_UP:
                    setColorFilter(null);
                    break;
                case MotionEvent.ACTION_DOWN:
                    changeLight();
                    break;
                case MotionEvent.ACTION_MOVE:
                    break;
                case MotionEvent.ACTION_CANCEL:
                    setColorFilter(null);
                    break;
                default:
                    break;
            }
            return true;
        }
    };
    private void changeLight() {
       int brightness=-80;
        ColorMatrix matrix = new ColorMatrix();
        matrix.set(new float[] { 1, 0, 0, 0, brightness, 0, 1, 0, 0,
                brightness, 0, 0, 1, 0, brightness, 0, 0, 0, 1, 0 });
        setColorFilter(new ColorMatrixColorFilter(matrix));

    }

}

好了,效果實(shí)現(xiàn)了拔鹰,使用這種方法可以省去一些工作量仪缸,不需要每張圖片都去設(shè)置selctor,也不只限于本地圖片列肢,網(wǎng)絡(luò)圖片同樣通吃恰画,但是也有局限性,就像需要在點(diǎn)擊時需要顯示另一張圖片瓷马,通過Ontouch也可以實(shí)現(xiàn)拴还,但是那樣我覺著還是去定義selctor方便。

第一次寫bolg欧聘,從小文筆就不好片林,但想把自己的一些東西分享出來,請大家湊合看怀骤,如果有錯誤的地方也請指出费封,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒋伦,一起剝皮案震驚了整個濱河市弓摘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌痕届,老刑警劉巖韧献,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異研叫,居然都是意外死亡锤窑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門蓝撇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來果复,“玉大人,你說我怎么就攤上這事渤昌∷涑” “怎么了走搁?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長迈窟。 經(jīng)常有香客問我私植,道長,這世上最難降的妖魔是什么车酣? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任曲稼,我火速辦了婚禮,結(jié)果婚禮上湖员,老公的妹妹穿的比我還像新娘贫悄。我一直安慰自己,他們只是感情好娘摔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布窄坦。 她就那樣靜靜地躺著,像睡著了一般凳寺。 火紅的嫁衣襯著肌膚如雪鸭津。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天肠缨,我揣著相機(jī)與錄音逆趋,去河邊找鬼。 笑死晒奕,一個胖子當(dāng)著我的面吹牛闻书,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吴汪,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼惠窄,長吁一口氣:“原來是場噩夢啊……” “哼蒸眠!你這毒婦竟也來了漾橙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤楞卡,失蹤者是張志新(化名)和其女友劉穎霜运,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蒋腮,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡淘捡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了池摧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焦除。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖作彤,靈堂內(nèi)的尸體忽然破棺而出膘魄,到底是詐尸還是另有隱情乌逐,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布创葡,位于F島的核電站浙踢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏灿渴。R本人自食惡果不足惜洛波,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骚露。 院中可真熱鬧蹬挤,春花似錦、人聲如沸棘幸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽够话。三九已至蓝翰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間女嘲,已是汗流浹背畜份。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留欣尼,地道東北人爆雹。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像愕鼓,于是被迫代替她去往敵國和親钙态。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,506評論 25 707
  • 大三了菇晃,山泰在大學(xué)里很悶册倒,于是就拾起游戲玩起來了,以前山泰本是要在大學(xué)不碰游戲磺送,但是現(xiàn)在碰了驻子,沒辦法,在這戒游戲的...
    想寫出好文筆的孩子閱讀 274評論 0 0
  • Welcome to MarkdownPad 2 MarkdownPad is a full-featured M...
    VanCare閱讀 327評論 0 0
  • 心底有一個地方估灿, 住的不是戀人崇呵,如今也不算朋友吧。 時間過去馅袁,你陪我走的那段路域慷, 雖不那么清晰,但依舊不會忘記, ...
    801661c0da45閱讀 198評論 0 0
  • 我的人生要的是真實(shí)! 藍(lán)色犹褒,在我心里兄纺,代表著虔誠,寧靜化漆,淡泊估脆,高遠(yuǎn),空明座云,更重要的是藍(lán)色是一種深沉的人生態(tài)度疙赠,藍(lán)色...
    藍(lán)松在云端閱讀 1,097評論 4 5