Intereting Posts
Android, отображать alertDialog вместо уведомления, когда приложение открыто Как использовать getString () для статической строки перед onCreate ()? Определение Z-порядка просмотров RelativeLayout на Android Как обрабатывать кнопку «Назад» на андроиде при появлении диалогового окна прогресса Скрытие ресурсов android.R в Android Studio 1.3+ автозаполнения Что такое атрибут mimeType в <data>? Кнопка общего доступа к Facebook / Twitter Запуск эмулятора Android на компьютере с процессором AMD Ошибка связи связи Последний пакет, отправленный на сервер, был 1 мс назад. Android GoogleMap v2 обрезается или не отображается полностью Android – обнаружит событие разблокировки телефона, а не экран Неиспользуемые ресурсы андроидного lint из библиотечного модуля используются в приложении Ширина привязки Android к вкладкам Создайте WebRTC VideoTrack с помощью «настраиваемого» Capturer на Android с libjingle React Native Android App потребляет 30 мА в час, даже если приложение находится в фоновом режиме

Установите динамическое положение тоста в представлении

Прежде всего это не полный код

@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Toast toast=Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER_HORIZONTAL, 0, 0); View view=toast.getView(); switch(buttonView.getId()) { case R.id.chkRed: if(chkRed.isChecked()) { chkGreen.setChecked(false); chkBlue.setChecked(false); chkYellow.setChecked(false); toast.setText("You Selected Red"); toast.setGravity(Gravity.NO_GRAVITY,buttonView.getRight(), chkRed.getTop()); //top does not align //it align perfectly to right of checkbox view.setBackgroundColor(Color.RED); } break; } } 

Итак, проблема заключается в том, что я хочу отображать тост рядом с setGravity() , я пытался работать с setGravity() , но он просто не работает, и его ударили и пытались в течение длительного времени, но без прогресса

Как отобразить тост возле флажка.

Solutions Collecting From Web of "Установите динамическое положение тоста в представлении"

Хорошо, я наконец понял, как получить тост возле флажка или другого вида

1. Вам нужно найти место на экране

 buttonView.getLocationOnScreen(location); 

Для получения дополнительной справки см. GetLocationOnScreen (int [])

2. Установите гравитацию на тост, используя

 toast.setGravity(Gravity.TOP|Gravity.LEFT,buttonView.getRight()+5, location[1]-10); 

Здесь важна x-coordinate тоста справа от вида, например, buttonView.getRight() и получить y-координату из location[1] , которое вы получаете от getLocationOnScreen()

 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { Toast toast=Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT); toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0); View view=toast.getView(); int location[]=new int[2]; buttonView.getLocationOnScreen(location); switch(buttonView.getId()) { case R.id.chkRed: if(chkRed.isChecked()) { chkGreen.setChecked(false); chkBlue.setChecked(false); chkYellow.setChecked(false); toast.setText("You Selected Red"); toast.setGravity(Gravity.TOP|Gravity.LEFT,buttonView.getRight()+5, location[1]-10); view.setPadding(1, 1, 1, 1); view.setBackgroundColor(Color.RED); } } }