Мне нужно выровнять мой тост по отношению к конкретному виду, а сейчас по размерам устройства - PullRequest
0 голосов
/ 10 июля 2019

enter image description here У меня есть тост, который находится в центре моего экрана, мне нужно выровнять его по центру моего подпредставления. В настоящее время он содержит вид экрана как родительский вид. Мне нужно назначить свое подпредставление как родительский вид для динамического изменения его позиции

View v = LayoutInflater.from(toastContext).inflate(R.layout.toast, null);
TextView tv = (TextView) v.findViewById(R.id.message);
tv.setText(text);

mToast.setView(v);
mToast.setDuration(duration);
mToast.setGravity(Gravity.CENTER,0, 0);

mToast.show();

1 Ответ

0 голосов
/ 10 июля 2019

Это должно сосредоточиться на вашем текстовом представленииВы можете заменить tv любым видом, на котором вы хотите расположить его по центру:

int x = tv.getLeft() + tv.getWidth()/2;
int y = tv.getTop() + tv.getHeight()/2; 
mToast.setGravity(Gravity.TOP|Gravity.LEFT, x, y);

Обратите внимание, что если ваш вспомогательный вид уже находится в центре экрана, вы можете использовать центр тяжести и просто отрегулировать yсмещение сверху: mToast.setGravity(Gravity.TOP|Gravity.CENTER, 0, tv.getTop());

...