【Android】五种不同的Toast
16lz
2021-01-23
五种不同的Toast,先看效果:
代码:
MainActivity.java
package com.sg7.fivetoast;import android.app.AlertDialog;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button toastBtn_1, toastBtn_2, toastBtn_3, toastBtn_4, toastBtn_5; private Toast toast; private static final String TOASTBTN_1 = "这是默认的Toast显示"; private static final String TOASTBTN_2 = "这是自定义位置的Toast显示"; private static final String TOASTBTN_3 = "这是带图片的Toast显示"; private static final String TOASTBTN_4 = "这是完全自定义的Toast显示"; private static final String TOASTBTN_5 = "这是长时间的Toast显示"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); (toastBtn_1 = (Button) findViewById(R.id.button_1)).setOnClickListener(this); (toastBtn_2 = (Button) findViewById(R.id.button_2)).setOnClickListener(this); (toastBtn_3 = (Button) findViewById(R.id.button_3)).setOnClickListener(this); (toastBtn_4 = (Button) findViewById(R.id.button_4)).setOnClickListener(this); (toastBtn_5 = (Button) findViewById(R.id.button_5)).setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button_1: toast.makeText(this, TOASTBTN_1, Toast.LENGTH_LONG).show(); break; case R.id.button_2: toast = Toast.makeText(getApplicationContext(), TOASTBTN_2, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); break; case R.id.button_3: toast = Toast.makeText(getApplicationContext(), TOASTBTN_3, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 50, -100); LinearLayout layout = (LinearLayout) toast.getView(); ImageView image = new ImageView(getApplicationContext()); image.setImageResource(R.mipmap.ic_launcher); layout.addView(image, 0); toast.show(); break; case R.id.button_4: LayoutInflater inflater = getLayoutInflater(); View view = inflater.inflate(R.layout.userdefinedtoast, (ViewGroup) findViewById(R.id.toast_layout)); TextView txtView_Title = (TextView) view .findViewById(R.id.txt_Title); TextView txtView_Context = (TextView) view .findViewById(R.id.txt_context); ImageView imageView = (ImageView) view .findViewById(R.id.image_toast); toast = new Toast(getApplicationContext()); toast.setGravity(Gravity.CENTER, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.setView(view); toast.show(); break; case R.id.button_5: AlertDialog.Builder builder; AlertDialog dialog; LayoutInflater inflater1 = getLayoutInflater(); View view1 = inflater1.inflate(R.layout.userdefinedtoast, (ViewGroup) findViewById(R.id.toast_layout)); TextView txtView_Title1 = (TextView) view1 .findViewById(R.id.txt_Title); TextView txtView_Context1 = (TextView) view1 .findViewById(R.id.txt_context); ImageView imageView1 = (ImageView) view1 .findViewById(R.id.image_toast); builder = new AlertDialog.Builder(this); builder.setView(view1); dialog = builder.create(); dialog.show(); break; } }}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <Button android:id="@+id/button_1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="默认的Toast显示" /> <Button android:id="@+id/button_2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="自定义位置的Toast显示" /> <Button android:id="@+id/button_3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="带图片的Toast显示" /> <Button android:id="@+id/button_4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="完全自定义的Toast显示" /> <Button android:id="@+id/button_5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="长时间的Toast显示" /></LinearLayout>
userdefinedtoast.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toast_layout" android:layout_width="200dip" android:layout_height="fill_parent" android:background="#111111" android:orientation="vertical"> <TextView android:id="@+id/txt_Title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|top" android:text="自定义Toast" android:textColor="#ffffff" android:textSize="20dip" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#999999" android:orientation="horizontal"> <ImageView android:id="@+id/image_toast" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dip" android:src="@mipmap/ic_launcher" /> <TextView android:id="@+id/txt_context" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center|right" android:text="这是自定义Toast,左边是一幅图片" android:textColor="#ffffff" android:textSize="15dip" /> </LinearLayout></LinearLayout>
源码下载: http://download.csdn.net/detail/lingwu7/9382964
更多相关文章
- Android 手势滑动,多点触摸放大缩小图片
- android 图片压缩的方法
- Android有效解决加载大图片时内存溢出的问题
- RelativeLayout里常用的位置属性
- Android 图片加载图片_OOM异常解决
- 【Android 界面效果14】RelativeLayout里常用的位置属性
- android实现服务器图片本地缓存
- Android 下控件位置大小调整