【发布时间】:2015-10-22 05:25:47
【问题描述】:
我想在我的应用程序的任何文本视图中将我的 toast 消息设置在左上角位置,所以我使用了这个代码
public class CustomToast extends Activity {
TextView mTextView1;
TextView mTextView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_toast);
mTextView1=(TextView)findViewById(R.id.textView);
mTextView2=(TextView)findViewById(R.id.textView2);
mTextView1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showCustomAlert( );
}
});
mTextView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showCustomAlert( );
}
});
}
public void showCustomAlert( )
{
Context context = getApplicationContext();
// Create layout inflator object to inflate toast.xml file
LayoutInflater inflater = getLayoutInflater();
// Call toast.xml file for toast layout
View toastRoot = inflater.inflate(R.layout.toast, null);
Toast toast = new Toast(context);
// Set layout to toast
toast.setView(toastRoot);
toast.setGravity(Gravity.TOP|Gravity.LEFT ,0, 0);
toast.setDuration(2000);
toast.show();
}
}
当我运行上面的代码时,toast 每次都显示在屏幕顶部,尤其是 textview,见下图。
最初的两个文本视图屏幕
当我点击 second textview 我得到这个 toast 位置
知道如何解决这个问题吗?
【问题讨论】:
-
您不能在可见性消失的情况下将 Toast 之类的自定义视图放入 xml 中? & 然后当你想用所需的文本向 View.Visible 显示 toast setvisibility ?
标签: android gravity android-toast android-gravity