сделать такую кнопку при нажатии на котороюю под ней будет выскакивать другие кнопки или тексты java

Я начинающий android java разработчик и недавно столкнулся с такой проблемой что мне надо сделать такую кнопку при нажатии на котороюю под ней будет выскакивать другие кнопки или тексты вопрос состоит в том что я не знаю как это реализовать а помогите пожалуйста


Ответы (1 шт):

Автор решения: Andrew

Довольно сложно дать определенный ответ используя только информацию из вопроса. Есть несколько вариантов:

  1. Динамически создавать кнопки или текстовые поля.
  2. Показывать/скрывать кнопки/текстовые поля которые указаны в xml

Первый вариант подразумевает что у вас динамическое кол-во кнопок и текстовых полей. Вот пример программного создания кнопки:

Button programmaticButton = new Button(this);
programmaticButton.setId(R.id.button2);
programmaticButton.setText("CREATED PROGRAMMATICALLY");
programmaticButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"Programmatic Button is clicked",Toast.LENGTH_LONG).show();
}
});

LinearLayout linearLayout = findViewById(R.id.linearLayout);
linearLayout.addView(programmaticButton);

подобный вопрос на enSO.

Второй вариант подразумевает что у вас фиксированное кол-во кнопок/текстовых полей и поэтому вы можете заранее их указать в xml и просто потом показывать/скрывать. По поводу "выскакивания" - это нужно делать использую анимацию. Вот есть примеры анимации. И вот пример использования анимации:

view.animate()
    .translationY(0)
    .alpha(0.0f)
    .setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setVisibility(View.GONE);
        }
    });

туториал по анимированию

→ Ссылка