Android中Toast的默认位置在屏幕靠近底部的位置,这个默认位置有时候并不合适。比如页面上内容较少时,内容一般集中在屏幕上半部分,用户的注意力也集中在屏幕上半部分,默认位置的Toast用户可能没有注意到。还有可能是默认位置的Toast被用户的手挡住了。实践中感觉将Toast显示在屏幕的中部或中上部会比较好。如何修改Toast的默认位置呢?下面做一个简单的例子来演示一下。
先上截图:
布局文件activity_toast.xml代码如下:
<?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="match_parent"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickDefaultToast"
android:text="点击显示默认位置的Toast" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickCenterToast"
android:text="点击显示居中位置的Toast" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="onClickTopToast"
android:text="点击显示居中上部位置的Toast" />
</LinearLayout>
后台ToastActivity.java代码如下:
package chengyujia.demo.aty;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.widget.Toast;
import chengyujia.demo.R;
public class ToastActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_toast);
}
public void onClickDefaultToast(View v) {
Toast.makeText(this, "默认位置的Toast", Toast.LENGTH_LONG).show();
}
public void onClickCenterToast(View v) {
Toast toast = Toast.makeText(this, "居中位置的Toast", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
public void onClickTopToast(View v) {
Display display = getWindowManager().getDefaultDisplay();
// 获取屏幕高度
int height = display.getHeight();
Toast toast = Toast.makeText(this, "居中上部位置的Toast", Toast.LENGTH_LONG);
// 这里给了一个1/4屏幕高度的y轴偏移量
toast.setGravity(Gravity.TOP, 0, height / 4);
toast.show();
}
}
以上这篇Android 更改 Toast 的默认位置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。
您可能感兴趣的文章:超简单实现Android自定义Toast示例(附源码)Android 5.0以上Toast不显示的解决方法Android Service中使用Toast无法正常显示问题的解决方法Android AndBase框架内部封装实现进度框、Toast框、弹出框、确认框(二)Android实现Toast提示框图文并存的方法Android编程经典代码集锦(复制,粘贴,浏览器调用,Toast显示,自定义Dialog等)Android Toast提示封装实例代码