Это код для надувания вида:
LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(R.layout.test, null);
И мой test.xml
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="50px">
<Button android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
Я установил точку останова ниже этой строки, которая раздула test.xml
и обнаружил, что рассматриваемый экземпляр mLayoutParams
равен нулю. Я предполагаю, что если указать родительское представление для второго параметра inflate, этого не произойдет.
Но это все еще кажется очень странным: если mLayoutParams
равно нулю, почему я должен устанавливать атрибуты layout_width
и layout_height
в элементах LinearLayout.