Как разработать этот компонент в Android - PullRequest
0 голосов
/ 28 июня 2019

Как спроектировать компонент в Android, такой как, например, на изображении ниже, при нажатии на кнопку «Выбрать сессию» заполненная форма появится ниже, и если вы нажмете еще раз, такая форма исчезнет?

Я только что смог открыть диалоговое окно при нажатии на компонент, однако я хочу, чтобы компонент появился прямо под компонентом, как показано на рисунке.

Нижессылка на то, как выглядит такой компонент.

Все ваши ссылки, учебные пособия или советы приветствуются!

1 Ответ

1 голос
/ 28 июня 2019

Из комментариев я понял, что вы хотите отображать всплывающее окно при нажатии на элемент, но в этой позиции.Следующий пример кода поможет.Когда вы нажмете на текстовое представление, оно отобразит всплывающее окно в том месте, где у нас есть текстовое представление в представлении. Надеемся, что это поможет.

  textView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN){
              //  textView.setText("Touch coordinates : " +
              //          String.valueOf(event.getX()) + "x" + String.valueOf(event.getY()));
                showDialog(event.getX(),event.getY());
            }
            return true;
        }
    });
}
public void showDialog(float x, float y)
{

    Dialog dialog;
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    dialog = builder.create();
    dialog.setTitle("my dialog");
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();
    //wmlp.gravity = Gravity.TOP | Gravity.LEFT;
    wmlp.x = (int) x;   //x position
    wmlp.y = (int) y;   //y position
    dialog.show();
}

Что я получил, всплывающее окно находится посередине, потому что текстовое представлениетакже в середине Example

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...