У меня есть небольшой проект, в котором я хочу несколько раз использовать определенный компонент пользовательского интерфейса, поэтому я создал виджет, расширив ViewGroup. В этой группе ViewGroup я раздул представление, содержащее TextView внутри LinearLayout, и добавил, что раздутое представление в addGroup ViewGroup.
Внешний LinearLayout отлично расширяется, но внутренний TextView имеет getHeight() = 0 и getWith() = 0, когда я просматриваю его через Hierarchy Viewer. Странно, что layout_height и layout_width - это значения, которые я дал им в моем xml.
У меня здесь нет кода, но он выглядит примерно так:
xml:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:text="random text.."
android:layout_with="200px"
android:layout_height="50px" />
</LinearLayout>
Java:
class MyWidget extends ViewGroup {
...
//In constructor
myView = View.inflate(context, R.layout.xml, null);
addView(myView);
//In layout
myView.layout(l, t, r, b);
Я попытался дать свой текстовый вид fill_parent значения для размера, но это не помогло.