重构layout