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,代码如下:
扫描二维码关注公众号,回复:
2883036 查看本文章
?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(); } } }