第二十六篇-单击事件、Toast(提示框信息)
单击事件有3种方法:
第一种:
layout.xml
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <TextView android:textColor="@color/text_color" android:textSize="@dimen/text_size" android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/user_name" /> <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Name" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <TextView android:textColor="@color/text_color" android:textSize="@dimen/text_size" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/password" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Name" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <Button android:textColor="@color/button_color" android:textSize="@dimen/button_size" android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/login" /> <Button android:textColor="@color/button_color" android:textSize="@dimen/button_size" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/cancle" /> </LinearLayout> </LinearLayout>
MainActivity.java
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package com.example.aimee.resoucetest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button button1,button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); button1=findViewById(R.id.button); button2=findViewById(R.id.button2); // button1.setOnClickListener(this); // button2.setOnClickListener(this); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_LONG).show(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_SHORT).show(); } }); } }
第二种:添加单击事件的入口,通过switch判断单击的事件
MainActivity.java
package com.example.aimee.resoucetest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ Button button1,button2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); button1=findViewById(R.id.button); button2=findViewById(R.id.button2); button1.setOnClickListener(this); button2.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.button: Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_LONG).show(); break; case R.id.button2: Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_LONG).show(); break; } } }
第三种:
layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <TextView android:textColor="@color/text_color" android:textSize="@dimen/text_size" android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/user_name" /> <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Name" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <TextView android:textColor="@color/text_color" android:textSize="@dimen/text_size" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/password" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" android:text="Name" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal"> <Button android:onClick="login" android:textColor="@color/button_color" android:textSize="@dimen/button_size" android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/login" /> <Button android:onClick="cancel" android:textColor="@color/button_color" android:textSize="@dimen/button_size" android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/cancle" /> </LinearLayout> </LinearLayout>
MainActivity.java
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package com.example.aimee.resoucetest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); } public void login(View view) { Toast.makeText(MainActivity.this,"第三种单击事件方法",Toast.LENGTH_LONG).show(); } public void cancel(View view) { Toast.makeText(MainActivity.this,"退出",Toast.LENGTH_LONG).show(); } }
Toast事件,第一个参数一般写this,如果this出错,就用类的名称.this,比如这个里面就是MainActivity.this。第二个参数写想显示的字符串,第三个参数是悬浮时间的长短,一般是Toast.LENGTH_LONG或者Toast.LENGTH_SHORT,后面的.show()是将其显示出来。