getWidth возвращает 0 во фрагменте, getPaddingLeft возвращает не -ноль

Я пытаюсь преобразовать свое приложение для Android во фрагменты, чтобы поддерживать несколько размеров экрана и правильно использовать новые вкладки ICS. Раньше я использовал метод onWindowFocusChanged()и выполнял внутри него следующий код -, в основном это выполняло динамическое форматирование моего макета после его создания.

public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

LinearLayout theLayout = (LinearLayout)inflater.inflate(R.layout.tab_frag2_layout, container, false);

getWidthEditButton = (ImageButton) theLayout.findViewById(R.id.buttonEditPoints);
buttonAddPointsManual = (ImageView) theLayout.findViewById(R.id.buttonAddPointsManual);

linearPointsUsed = (LinearLayout) theLayout.findViewById(R.id.linearLayoutPointsUsed);

int paddingLeftForTracker = linearPointsUsed.getPaddingLeft();
int paddingRightForTracker = getWidthEditButton.getWidth();

linearPointsUsed.setPadding(paddingLeftForTracker, 0, paddingRightForTracker, 0);
}

Теперь, когда я перешел к фрагментам, и по какой-то причине мой paddingRightForTracker возвращает 0. Раньше я сталкивался с проблемой, когда я пытался получить ширину слишком рано, поэтому мой переход к onWindowFocusChanged ранее был недоступен для фрагментов. Странно то, что paddingLeftForTracker на самом деле возвращает не нулевое значение -.

Если я устанавливаю paddingRightForTracker вручную, происходит изменение, поэтому я знаю, что код работает. Просто не могу понять, почему мой getWidth возвращает 0.

Любая помощь будет принята с благодарностью.

7
задан mattdonders 21 July 2012 в 19:43
поделиться