Узнайте, какой будет высота WRAP_CONTENT. ⇐ Android
-
Гость
Узнайте, какой будет высота WRAP_CONTENT.
Моя цель — создать невидимый LinearLayout, который будет отображаться с анимацией при нажатии на определенную кнопку. Для этого я установил высоту по умолчанию на WRAP_CONTENT, получил высоту при запуске приложения, установил высоту на 0 и запустил анимацию, когда я нажимаю кнопку. Вот код:
linearLayout.post(new Runnable() { @Override общественный недействительный запуск () { высота = LinearLayout.getMeasuredHeight(); LinearLayout.setLayoutParams(новый LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 0)); } }); findViewById(R.id.btnOperator).setOnClickListener(new View.OnClickListener() { @Override public void onClick (Просмотр) { Анимация ani = new ShowAnim(linearLayout, height/* высота целевого макета */); ani.setDuration(1000/* время анимации */); линейныйLayout.startAnimation(ани); } }); Эта работа неплохая, но я хочу сделать по-другому. Я хочу, чтобы высота по умолчанию была равна 0, а затем вычислил, какой будет высота WRAP_CONTENT, и передал ее:
Анимация ani = new ShowAnim(linearLayout, height/* высота целевого макета */); Как я мог это сделать? Я искал, но ничего не нашел.
Моя цель — создать невидимый LinearLayout, который будет отображаться с анимацией при нажатии на определенную кнопку. Для этого я установил высоту по умолчанию на WRAP_CONTENT, получил высоту при запуске приложения, установил высоту на 0 и запустил анимацию, когда я нажимаю кнопку. Вот код:
linearLayout.post(new Runnable() { @Override общественный недействительный запуск () { высота = LinearLayout.getMeasuredHeight(); LinearLayout.setLayoutParams(новый LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 0)); } }); findViewById(R.id.btnOperator).setOnClickListener(new View.OnClickListener() { @Override public void onClick (Просмотр) { Анимация ani = new ShowAnim(linearLayout, height/* высота целевого макета */); ani.setDuration(1000/* время анимации */); линейныйLayout.startAnimation(ани); } }); Эта работа неплохая, но я хочу сделать по-другому. Я хочу, чтобы высота по умолчанию была равна 0, а затем вычислил, какой будет высота WRAP_CONTENT, и передал ее:
Анимация ani = new ShowAnim(linearLayout, height/* высота целевого макета */); Как я мог это сделать? Я искал, но ничего не нашел.
Мобильная версия