有個按鈕,需要在平時是不啟用狀態,但是又需要長按來設定按鈕的引數。
如果setenable(false) 的話,長按也不管用。
相當於需要重寫下 按鈕的事件監聽,比較簡單,只做個記錄,以後可以拿來用
public class mybutton extends button
public mybutton(context context, attributeset attrs)
public mybutton(context context, attributeset attrs, int defstyleattr)
/*** 設定只響應長按時間 不響應單擊事件
*/public void setonlyanslongclick(boolean onlyanslongclick)
});this.setbackground(context.getresources().getdrawable(r.drawable.btn_bg_gray));
}else
});this.setbackground(context.getresources().getdrawable(r.drawable.btn_bg_blue));}}
shortclicklistenerinte***ce shortclicklistenerinte***ce;
public void setshortclicklistener(shortclicklistenerinte***ce clicklistenerinte***ce)
public inte***ce shortclicklistenerinte***ce
onlongclicklistener onlongclicklistener = new onlongclicklistener()
@override
public void docancel()
});// mydialogsetting.show(); //暫時先不用長按事件
return true;}};
}
使用該按鈕的時候,不再使用系統預設監聽,使用如下
btn1.setshortclicklistener(new mybutton.shortclicklistenerinte***ce()
});btn1.setonlyanslongclick(false); //設定可監聽短按和長按
btn1.setonlyanslongclick(true); //設定只響應長按 不響應短按
Android自定義長按事件
android系統自帶了長按事件,setonlongclicklistener即可監聽。但是有時候,你不希望用系統的長按事件,比如當希望長按的時間更長一點的時候。這時候就需要自己來定義這個長按事件了。packagechroya.fun importandroid.content.context im...
安卓之自定義按鈕(以及shape詳解)
簡述 我們知道安卓原生的按鈕實在是不堪入目,而面對市場的需求,這麼醜的按鈕是沒有競爭力的,所以乙個可以自定義的好看的按鈕必不可缺。後面還有shape的屬性詳解彙總。這個實現比較簡單,直接貼 了 1.首先要在drawable資料夾裡面新增個樣式檔案shapecircle.xml 2.在button的b...
自定義事件的響應
有些時候需要自己控制事件的響應,這時可以用列表將註冊的委託保持起來,通過遍歷這個列表去執行,例如 當委託的函式返回true時就停止遍歷。public delegate bool booldelegate private listmonhomebuttonclick new list public e...