utilizar usar studio simple make how create crear como agregar android events checkbox toast relative

android - usar - Establecer la posición dinámica de Toast en una vista



toast make in android (1)

vale, finalmente descubrí cómo hacer un brindis al lado de la casilla de verificación u otra vista

1. Necesita obtener la ubicación en la pantalla de la vista, por

buttonView.getLocationOnScreen(location);

para más referencia, vea getLocationOnScreen (int [])

2. Establecer la gravedad para tostar usando

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

lo importante aquí es establecer x-coordinate de la tostada a la derecha de la vista, p. ej., buttonView.getRight() y obtener la coordenada y de la location[1] , que se obtiene de 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); } } }

En primer lugar, esto no es un código completo

@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; } }

Así que ahora, el problema es que quiero mostrar pan tostado al lado de la casilla de verificación, intenté trabajar con setGravity() , pero simplemente no funciona y se ha intentado y probado durante mucho tiempo, pero sin progreso.

Cómo mostrar las tostadas junto a la casilla de verificación.