以编程方式膨胀的RadioButton layout_width与布局文件不匹配

Pet*_*ile 1 android radio-button android-layout

我以编程方式添加RadioButtons:

RadioButton radioButton = (RadioButton) inflater.inflate(R.layout.radio_button, null);
...
radioGroup.addView(radioButton);
Run Code Online (Sandbox Code Playgroud)

在RadioButton布局文件中,宽度为match_parent:

         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:button="@null"
         android:drawableLeft="@drawable/check_selector"
         android:drawablePadding="@dimen/large"
         android:paddingBottom="@dimen/large"
         android:paddingTop="@dimen/large"
         android:textColor="@drawable/text_selector"
Run Code Online (Sandbox Code Playgroud)

但是,将其添加到RadioGroup后,其宽度为wrap_content:“ width:-2”

Timber.e("width: %s", radioGroupReason.getChildAt(radioGroupReason.getChildCount() -1).getLayoutParams().width);
Run Code Online (Sandbox Code Playgroud)

小智 6

在添加视图之前使用它:

radioButton.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
Run Code Online (Sandbox Code Playgroud)