Android简易实战教程--第三十一话《自定义土司》
16lz
2021-01-26
最近有点忙,好几天不更新博客了。今天就简单点,完成自定义土司。
主布局文件代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="76dp" android:text="显示普通的通知" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_centerHorizontal="true" android:layout_marginTop="62dp" android:text="自定义通知" /></RelativeLayout>
一个用于显示原生土司,一个用于显示自定义土司。
自定义土司的布局:一张图片,一段文本。都是自定义上去
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toast_layout_root" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#44ff4400" android:orientation="horizontal" android:padding="10dp" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="10dp" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:textColor="#FFF" /></LinearLayout>
主活动代码:
package com.example.android_toast2;import android.os.Bundle;import android.app.Activity;import android.view.Gravity;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity {private Button button;private Button button2;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) this.findViewById(R.id.button1);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast toast = Toast.makeText(MainActivity.this, "提示信息",Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();}});button2 = (Button) this.findViewById(R.id.button2);button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast toast = new Toast(MainActivity.this);// 加载自定义布局View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog, null);ImageView imageView = (ImageView) view.findViewById(R.id.image);imageView.setImageResource(R.drawable.a);TextView textView = (TextView) view.findViewById(R.id.text);textView.setText("自定义的吐司通知");toast.setDuration(Toast.LENGTH_LONG);//显示时长toast.setGravity(Gravity.CENTER, 0, 0);//土司位于父布局的位置// 加载自定义的布局toast.setView(view);toast.show();//统一UI风格,需要自定义的通知,声明在一个类中,可以反复调用}});}}
运行看看效果:
更多相关文章
- Android(安卓)触摸事件的传递过程
- 设置Android(安卓)Studio工程布局文件的默认布局
- Android(安卓)的 SimpleAdapter
- 线性布局分割
- Android(安卓)多屏幕适配
- Android高仿360安全卫士--布局篇
- AlarmManager+Notification实现定时通知提醒功能
- Android基于ViewPager实现类似微信页面切换效果
- Android(安卓)UI设计——ViewPage中自定义标题栏(四)