Android中使用toast组件做一个点击按钮打招呼的程序

1.运行效果


2.用到的组件

1)  EditText 组件的使用
2)  ImageButton 组件的使用
3)  Toast 组件的使用
4)  Android 中的事件处理

3.程序的实现

1)将准备好的图片素材放在drawable文件夹中,由于准备的图片有的图片尺寸太大不合适,可以在res下新建一个drawable-xhdpi文件夹,将图片复制进去,图片就会变小了。

2)在activity_main.xml中实现对页面的布局,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg"
    android:orientation="vertical"
    tools:context="bzu.edu.cn.a03lab4.MainActivity">

    <EditText
        android:id="@+id/edit_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:drawableLeft="@drawable/name"
        android:drawablePadding="10dp"
        android:layout_marginTop="150dp"
        android:layout_marginLeft="80dp"
        android:background="@drawable/et_bg"
        />

    <ImageButton
        android:id="@+id/ima_btn"
        android:layout_below="@id/edit_text"
        android:paddingTop="25dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/btn_bg"
        android:background="@null"//去掉图片背景
        android:layout_marginLeft="150dp"

        />
</RelativeLayout>
3)在drawable下新建et_bg.xml文件,实现对编辑框的美化,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />//设置背景颜色
    <corners android:radius="3dp"/>//设置编辑框四个角的弧度
    <stroke
        android:width="3dp"
        android:color="#FF7F24" />//设置编辑框的框的宽和颜色
</shape>
4)在layout下新建toast_layout.xml文件,布局为LinearLayout,在文件中自定义一个toast,代码如下:

?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/toast_bg"
    android:paddingLeft="25dp"
    >

    <TextView
        android:id="@+id/text_view"
        android:layout_width="170dp"
        android:layout_height="wrap_content"
        android:drawableLeft="@drawable/smile_blak"
        android:layout_marginLeft="10dp"
        android:drawablePadding="25dp"
        android:gravity="center_vertical"
        />
</LinearLayout>
5)在drawable下新建toast_bg.xml文件,实现对toast的美化,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="30dp"></corners>
    <solid android:color="#FFB5C5"></solid>//设置背景颜色
    <stroke
        android:width="3dp"
        android:color="#FFFFFF" />
</shape>
6)MainActivity中代码如下:

public class MainActivity extends AppCompatActivity {
    private ImageButton ima_btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ima_btn=(ImageButton) findViewById(R.id.ima_btn);
        ima_btn.setOnClickListener(new ButtonHandler());
    }
    class ButtonHandler implements View.OnClickListener{
        public void onClick(View v){
            String str = ((EditText)findViewById(R.id.edit_text)).getText().toString();
            View toastRoot = getLayoutInflater().inflate(R.layout.toast_layout, null);
            Toast toast=new Toast(getApplicationContext());
            toast.setView(toastRoot);
            TextView tv=(TextView)toastRoot.findViewById(R.id.text_view);
            tv.setText("Hello "+str);
            toast.show();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/shasha1021/article/details/63687311