android自定義事件
『壹』 Android 自定義toast能夠支持點擊事件嗎
Toast可以自定義view,可以試試給自定義view點擊事件,但是如果你想點擊,不如使用SnakeBar
『貳』 Android自定義preference布局文件中的控制項怎麼添加點擊監聽事件
沒記錯的話,是可以定義android:onclick屬性的。在代碼里添加相應的方法就行了,注意該監聽方法必須是public的。
『叄』 android 怎麼自定義監聽事件
新建一個android工程,找到工程下res->layout->activity_main.xml文件並打開
從左側工具欄,拖入button到界面上,button默認id為button1
1、在Activity中給button綁定監聽事件(setOnClickListener),代碼如下:
//button綁定監聽事件
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder build = new Builder(MainActivity.this);
build.setMessage("Test").show();
}
});
2、直接在layout.xml中綁定onclick事件;
同時添加對應的監聽事件處理函數
public void Test(View v){
AlertDialog.Builder build = new Builder(this);
build.setMessage("Test").show();
}
運行程序,在模擬器/真機中查看效果
點擊button,彈出Test提示框,說明事件綁定成功。
『肆』 求android自定義控制項怎麼添加點擊事件,長按事件
一般的控制項只要是繼承了View 都可以添加這兩個事件,只需要重寫View的setOnClicklistener和setOnLongClickListener這兩個函數就可以了。
添加這兩個函數,別人就能用set方法給你傳進來listener,而你可以在onTouch方法里通過判斷aciton_down action_move action_up 通過時間來判斷是長按還是單擊。
『伍』 請指教:Android中為什麼我的自定義KeyEvent事件沒有相應的執行呢,代碼如下:
你這樣構造的KeyEvent對象不能用,至少是沒有DeviceID的。
你需要將KeyEvent必要的成員變數都賦上值。
另外,你要實現的是,不管點擊哪個鍵,都結束Activity02。
所以你只需要在onKeyDown里執行finish();return true;即可。
『陸』 android 自定義view滑動和點擊事件沖突怎麼解決
在Android中,對一個View同時調用OnTouch事件和OnClick事件時,導致事件沖突,比如onClick事件打算執行A動作,OnTouch事件打算執行B動作,但是在實際使用時會發現,當調用OnTouch時,有可能會同時執行A,B兩個動作,這是因為OnClick事件本身就是在OnTouch事件中發生的;在onTouch事件中,如果返回true,就不會執行onClick,返回false,就同時執行onClick方法,要想把OnTouch和onClick事件完全的區分。可能過下列方法,解決該沖突問題:
就是在 OnTouch中的MotionEvent.ACTION_DOWN 時,記錄下點(X1,Y1),
在 MotionEvent.ACTION_UP 時,記錄下點(X2,Y2),然後比對 倆點之間的距離,如果小於一個較小數值(比如5),就認為是Click事件,onTouch中返回false,如果距離較大,可以當作onTouch事件去處理,返回true:
示範如下:
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
x1 = event.getX();
y1 = event.getY();
}
if (event.getAction() == MotionEvent.ACTION_UP) {
x2 = event.getX();
y2 = event.getY();
if (Math.abs(x1 - x2) < 6) {
return false;// 距離較小,當作click事件來處理
}
if(Math.abs(x1 - x2) >60){ // 真正的onTouch事件
}
}
return true;// 返回true,不執行click事件
}
『柒』 android對話框里自定義的按鈕怎樣實現事件監聽,求源代碼參考
你好!
Button
button=(Button)
findViewById(R.id.button);
button.setOnclickListener(new
OnclickListener(){
public
void
onClick(view
v){
************************//這是你要button響應的事件
}
});
其中button是你定義的按鈕名稱,在xml文件中也有定義。
如果對你有幫助,望採納。
『捌』 android dialog自定義按鈕如何設監聽事件
利用回調方法,在調用處,進行Dialog中各按鈕的事件處理。
view plain
package com.demo;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class LeaveMeetingDialog extends Dialog implements OnClickListener{
private Button quitBtn,stopBtn,cancelBtn;
private LeaveMeetingDialogListener listener;
public interface LeaveMeetingDialogListener{
public void onClick(View view);
}
public LeaveMeetingDialog(Context context,int theme,LeaveMeetingDialogListener listener) {
super(context,theme);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.leave_meeting_dialog);
initViews();
}
private void initViews(){
quitBtn = (Button)findViewById(R.id.quit_btn);
stopBtn = (Button)findViewById(R.id.stop_btn);
cancelBtn = (Button)findViewById(R.id.cancel_btn);
quitBtn.setOnClickListener(this);
stopBtn.setOnClickListener(this);
cancelBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
listener.onClick(v);
}
}
---調用處:
[java]
LeaveMeetingDialog dialog = new LeaveMeetingDialog(this,R.style.Theme_CustomDialog,
new LeaveMeetingDialogListener() {
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.quit_btn:break;
case R.id.stop_btn:break;
case R.id.cancel_btn:break;
}
}
});
dialog.show();
『玖』 Android 自定義控制項事件響應問題
代碼發來,改好發給你. 看你這點描述看不出問題所在
[email protected]
『拾』 【Android】Notification通知欄使用RemoteViews自定義布局,怎麼自定義點擊事件
首先你的自定義布局的Notification是不是有一個RemoteView,那你就可以通過這個RemoteView來設置點擊事件:
mRemoteViews.setOnClickPendingIntent(R.id.xxx, mPendingIntent);
其中你的R.id.xxx 就是你那個被點擊的控制項的id
mPendingIntent是一個PendingIntent,它可以這樣定義:
mPendingIntent = PendingIntent.getActivity(context,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
注意到裡面需要一個參數intent:
Intent intent = new Intent(xxx ,AaaActivity);
這樣當點擊時,就可以跳轉到AaaActivity