我想在我的代码中的很多地方使用它,并且会有很多重复,但是我在 java 方面的知识不足以完成这项工作。
Toast myToast = Toast.makeText(net.asdqwe.activities.Signup.this, configurationz.ERROR_MESSAGES_SIGNUP_USER_NAME_MIN_LENGTH_PROBLEM, Toast.LENGTH_SHORT);
myToast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL, 0, 0);
TextView tv = (TextView) myToast.getView().findViewById(android.R.id.message);
tv.setTextColor(Color.parseColor(configurationz.COLORS_TOAST_TEXT_COLOR));
tv.setTextSize(20);
myToast.getView().setBackgroundColor(Color.parseColor(configurationz.COLORS_TOAST_BACKGROUND));
myToast.show();
我希望能够以这种方式使用它:
ToastMaker(short duration (//or long), configurationz.ERROR_MESSAGE (//of my choice), configurationz.COLORS_TOAST_TEXT_COLOR(//or some other variable), configurationz.COLORS_TOAST_BACKGROUND_COLOR(//or some other variable), 30(//text size), gravity)
something like this
ToastMaker(length, errorMessage, textColor, backgroundColor, textSize, gravity)
我最关心的一件事是下面的代码会为每个类改变,我不知道如何动态获取
net.asdqwe.activities.Signup.this
实际上,我可以将文本颜色、大小和背景设置为整个应用程序的通用设置(这很有意义),所以我们只剩下这个:
ToastMaker(length, errorMessage, gravity)
作为最终期望的结果
编辑:我已经用工作代码回答了我的问题,这是我在阅读所有答案后生成的