Пользовательские дочерние элементы RelativeLayout, игнорирующие все атрибуты позиционирования "android: layout_" - PullRequest
1 голос
/ 30 декабря 2011

Я схожу с ума.

Я пытаюсь создать RadioGroup, которая расширяет RelativeLayout вместо LinearLayout.Кажется, достаточно просто.Я точно следую [этому].Все проверено дважды и трижды.Похоже, что это хорошо сработало для других людей.

При фактическом использовании атрибуты RelativeLayout, заданные потомками, полностью игнорируются.Все накапливается в верхнем левом углу, и ничто из того, что я могу сделать, не переместит их.

Если я изменю представление с RadioGroupRelative на обычное RelativeLayout, все внезапно идеально соответствует атрибутам 'android: layout_'.Выглядит точно так, как я хочу.

Итак.Где-то вдоль линии, и я переделал это, как 5 раз, я теряю эти атрибуты XML.Я не понимаю как хотя.RadioGroup ничего не делает для своих параметров компоновки для детей из того, что я могу сказать.Почему они не применяются, когда Android раздувает макет?

1 Ответ

0 голосов
/ 30 декабря 2011

Нет ссылки на [это] - не могли бы вы добавить ее?Кроме того, не забудьте опубликовать свой исходный код для вашей собственной RadioGroup, которая наследуется от RelativeLayout.Из того, что я могу сказать, RadioGroup - это LinearLayout, поэтому я предполагаю, что вы скопировали и настроили исходный код Android для этого ...

РЕДАКТИРОВАТЬ: в качестве теста, что делает следующий кодв вашем окружении?

YourCustomRadioGroup radioGroup = new YourCustomRadioGroup(this);
if (radioGroup instanceof RelativeLayout){
   //do you end up in here?
   Log.d("yourapp","I'm a RelativeLayout!!");
}else{
   Log.d("yourapp","I'm NOT a RelativeLayout! :( ");
}
...