android 按鈕點擊的兩種方法以及長按事件

點擊事件一般分爲三種
1.增加監聽器
2.指定函數實現
首先我還是放上最先的xml文件代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:weightSum="10" //指定總權重
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.asus.ontouchevent.MainActivity">
<Button
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_weight="3" <!--指定佔有的權重-->
android:id="@+id/addlistener"<!--指定id-->
android:text="增加監聽函數"/>

<Button
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_weight="3"
android:id="@+id/method"<!--指定id-->
android:onClick="method" <!--指定實現方法-->
android:text="用指定函數實現"/>


</LinearLayout>

接下來我將一一演示

1.通過增加監聽器,然後利用Toast顯示信息
接下來我將放上放在java文件裏 第一個“MainActivity.java”的文件裏的代碼
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//這下面就是用來放增加監聽函數的代碼了 我用紅色標誌出來
Button addlistener =(Button)findViewById(R.id.addlistener);//這裏的id就是剛纔在xml文件裏的id
addlistener.setOnClickListener(new Button.OnClickListener(){//這句就是增加了監聽的按鈕
public void onClick(View v){
Toast.makeText(MainActivity.this,"這裏是利用增加監聽的方法實現的",Toast.LENGTH_LONG).show();//這裏就是顯示消息的代碼
}
});
}
}


指定函數實現點擊事件 (請原諒我在這裏貼了和上面重複的代碼,這裏我也會將重點用紅色標註出來)

package com.example.asus.ontouchevent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


//第一種 增加監聽事件
Button addlistener =(Button)findViewById(R.id.addlistener);
addlistener.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
Toast.makeText(MainActivity.this,"這裏是利用增加監聽的方法實現的",Toast.LENGTH_LONG).show();
}
});}

//第2種 增加反應函數
public void method(View v){//特別說下這裏的View v是必須的,請不要去除
Toast.makeText(MainActivity.this,"這裏是利用指定方法實現的",Toast.LENGTH_LONG).show();
}
}

接下來是附加的程序 增加長按按鈕
同樣的我將放上代碼 並且標註爲紅色

package com.example.asus.ontouchevent;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


//第一種 增加監聽事件
Button addlistener =(Button)findViewById(R.id.addlistener);
addlistener.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
Toast.makeText(MainActivity.this,"這裏是利用增加監聽的方法實現的",Toast.LENGTH_LONG).show();
}
});
//附加的玩法
addlistener.setOnLongClickListener(new View.OnLongClickListener() { //其實就是增加了長按監聽事件
@Override
public boolean onLongClick(View v) {
Toast.makeText(MainActivity.this,"這裏是長按按鈕",Toast.LENGTH_LONG).show();
return false;
}
});
}

//第2種 增加反應函數
public void method(View v){
Toast.makeText(MainActivity.this,"這裏是利用指定方法實現的",Toast.LENGTH_LONG).show();
}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章