Android应用中Toast的位置如何更改?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
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的位置如何更改问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。