在Android Studio中更改多个按钮的吐司消息的位置

cig3rfwq  于 2023-11-15  发布在  Android
关注(0)|答案(1)|浏览(107)

这是我从主活动文件中截取的代码片段。在这段代码中,我有4个按钮和1个图像按钮。
`

@Override  
 
public void onClick(View v) {

                if (v.getId() == btn1.getId()) {
                    Toast.makeText(getApplicationContext(), "Top Left Button Clicked", Toast.LENGTH_SHORT).show();

//                    toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.START, 90,0);
//                    toast.show();`

`} else if (v.getId() == btn2.getId()) {
                    Toast.makeText(getApplicationContext(), "Top Right Button Clicked", Toast.LENGTH_SHORT).show();

//                    toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.START, 90,0);
//                    toast.show();`

`} else if (v.getId() == btn3.getId()) {
                    Toast.makeText(getApplicationContext(), "Bottom Left Button Clicked", Toast.LENGTH_SHORT).show();

//                    toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.START, 90,0);

//                    toast.show();`
`} else if (v.getId() == btn4.getId()) {
                    Toast.makeText(getApplicationContext(), "Bottom Right Button Clicked", Toast.LENGTH_SHORT).show();

``} else {
                    Toast.makeText(getApplicationContext(), "Android Button Clicked", Toast.LENGTH_SHORT).show();

//                    toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.START, 90,0);

//                    toast.show();`
`  }
            }
        };`

字符串
我将其中的一些行设置为注解,因为如果我使用这些代码行运行应用程序,应用程序会突然停止并且无法工作。如果有人可以修复代码,以便每个按钮的吐司消息可以显示在不同的位置,那将非常感谢。
我试过使用重力函数,但这并没有改变吐司消息的位置。如果有人能帮助我并修复代码,那将是有帮助的。重力吐司代码被设置为命令。

mnemlml8

mnemlml81#

首先,您需要创建一个对象toast,然后为其分配所需的属性。(所使用的命令Toast.makeText(...).show();是以下行(不含第三行)的方便快捷方式,但不允许您访问对象以更改属性,除了文本)。因此,将所有Toast.makeText(...).show();替换为

Toast toast;
toast = Toast.makeText(getApplicationContext(), "... Button Clicked", Toast.LENGTH_SHORT); 
toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.START, 90,0);
toast.show();

字符串

相关问题