Во-первых, учитывая ваши правила («Я бы хотел, чтобы мой пользовательский вид был выровнен в верхней части экрана, а текстовый вид выровнен в нижней части экрана»), я бы рекомендовал RelativeLayout
, так какэто будет проще.Просто используйте android:layout_alignParentTop="true"
на CustomView
и android:layout_alignParentBottom="true"
на TextView
и сбросьте все вещи gravity
/ layout_gravity
.
Если ваш CustomView
по-прежнему плохо себя ведет, временно замените егос Button
или чем-то.Если Button
затем выглядит так, как вы ожидаете, значит, что-то не так в реализации вашего CustomView
.Если вы наследуете от реального View
(например, CustomView
является подклассом TextView
), вы должны унаследовать все нужные функциональные возможности для раскладки.Если ваш CustomView
является просто подклассом View
, могут быть некоторые вещи, которые вам нужно переопределить или назвать такими, которые вы не делаете.Я не создал пользовательский подкласс View
, только подклассы, такие как LinearLayout
, поэтому я не уверен на 100%, чего вам не хватает.