Android-自定义Toast、LayoutInflater使用其他布局

版权声明:个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢! 转载请注明出处 谢谢合作 https://blog.csdn.net/qq_43377749/article/details/84987652

内容:

1.自定义样式toast

2.再活动中添加其他布局

实现效果:

步骤:

一、自定义View 引用zidingyixml文件 生成一个布局对象

二、采用Toast 的addView() 方法将该对象添加到Toast对象中

三、显示:Toast.show()

具体实现方法:

public class MainActivity extends Activity {
    Toast toast;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //应用布局文件
        View insideView = LayoutInflater.from(MainActivity.this).inflate(R.layout.cell, null);
        LinearLayout linearLayout = (LinearLayout) insideView.findViewById(R.id.cell);
        ImageView imageView = (ImageView) insideView.findViewById(R.id.image1_Toast);
        TextView textView = (TextView) insideView.findViewById(R.id.textToast);
        imageView.setImageResource(R.drawable.warming);
        textView.setText("你的app 炸了!!");
        //建立提示消息对象
        toast = new Toast(this);
        toast.setView(insideView);
    }
    //按钮点击时弹出
    public void prev(View source){
        toast.show();
    }
}

注:R.layout.cell 中的cell 就是自定义的布局文件

建立步骤 在/values文件夹下 呢哇一个xml文件即可,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/cell"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <ImageView
        android:id="@+id/image1_Toast"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/textToast"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="15dp"/>
</LinearLayout>

最后给出整体的布局文件:

<?xml version="1.0" encoding="utf-8" ?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal">
        <Button
            android:onClick="prev"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"/>
</RelativeLayout>

注:采用了 android:onClick="prev" 方法 在布局文件中直接添加了点击事件,故MainActivity中不用手动添加onClickListener

猜你喜欢

转载自blog.csdn.net/qq_43377749/article/details/84987652