为什么 Toast.setGravity() 不起作用
Why Toast.setGravity() is not working
大家好,我有 2 个这样的 Toast 版本
版本 1:
Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG).setGravity(Gravity.CENTER,0,0).show();
版本 2:
Toast t = Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG);
t.setGravity(Gravity.CENTER,0,0);
t.show();
版本 2 工作正常,但版本 1 不行。
它给出错误无法解析方法 show()。
这里出了什么问题?
当我编写版本 1 删除 setGravity() 方法时,它工作正常
Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG).show();
你们能解释一下吗
Toast.makeText(this, getString(R.string.back_not_allowed), Toast.LENGTH_SHORT)
returns 一个 Toast
实例,因此您可以在其上调用 show()
函数,但是 Toast.makeText(this, getString(R.string.back_not_allowed), Toast.LENGTH_SHORT).show()
returns void
所以你不能在它上面使用 setGravity(Gravity.CENTER,0,0)
。这就是你必须在变量中获取 Toast
的实例然后使用它的原因。
我只是在尝试完成书中的扩展挑战时尝试这样做,Android Programming: The Big Nerd Ranch
然后查了下官方文档,发现现在忽略了
从 official docs 开始,当 运行 在较新的 Android 版本上时,这是一个 no-op(无操作)。
这些是自最初 post 以来发生的变化。
大家好,我有 2 个这样的 Toast 版本
版本 1:
Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG).setGravity(Gravity.CENTER,0,0).show();
版本 2:
Toast t = Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG);
t.setGravity(Gravity.CENTER,0,0);
t.show();
版本 2 工作正常,但版本 1 不行。 它给出错误无法解析方法 show()。 这里出了什么问题?
当我编写版本 1 删除 setGravity() 方法时,它工作正常
Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG).show();
你们能解释一下吗
Toast.makeText(this, getString(R.string.back_not_allowed), Toast.LENGTH_SHORT)
returns 一个 Toast
实例,因此您可以在其上调用 show()
函数,但是 Toast.makeText(this, getString(R.string.back_not_allowed), Toast.LENGTH_SHORT).show()
returns void
所以你不能在它上面使用 setGravity(Gravity.CENTER,0,0)
。这就是你必须在变量中获取 Toast
的实例然后使用它的原因。
我只是在尝试完成书中的扩展挑战时尝试这样做,Android Programming: The Big Nerd Ranch
然后查了下官方文档,发现现在忽略了
从 official docs 开始,当 运行 在较新的 Android 版本上时,这是一个 no-op(无操作)。
这些是自最初 post 以来发生的变化。