получить размер кнопки после wrap_content? - PullRequest
0 голосов
/ 19 сентября 2019

как получить размер кнопки после учета атрибута wrap_content?

Я хочу создать 2 кнопки одинакового размера, обе с атрибутом wrap_content, поэтому я решил создать их обе с помощью wrap_content,получить максимальную ширину и высоту и применить максимальные значения к двум кнопкам, проблема в том, что я получаю только нулевые значения при попытке напечатать ширину и высоту кнопки.

//Create the first button
    Button firstButton= new Button(activity);
    LinearLayout.LayoutParams secondaryParams = new LinearLayout.LayoutParams(
                            LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f);
    footerLayout.addView(firstButton, firstParams);

//same thing for the other button
   Button secondaryButton= new Button(activity);
    LinearLayout.LayoutParams secondaryParams = new LinearLayout.LayoutParams(
                            LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f);
    footerLayout.addView(secondaryButton, 0, secondaryParams );


//trying to get the size:
  firstButton.measure(0, 0); //must call measure!
    int measuredWidth = firstButton.getWidth();
    int measuredHeight = firstButton.getHeight();

получить размер 2 кнопок после применения атрибута WRAP_CONTENT.

1 Ответ

0 голосов
/ 19 сентября 2019

Вы пытаетесь получить ширину и высоту слишком рано, на самом деле, если вы используете упражнение, вы можете получить размеры здесь:

@Override
 public void onWindowFocusChanged(boolean hasFocus) {
  super.onWindowFocusChanged(hasFocus);
  //Here you can get the size!
 }

Этот метод вызывается несколько раз или развремя, когда есть изменения (вид скрыть, ушел, добавить новые виды и т. д.) в окне.Так что используйте его осторожно!

...