Когда указываете layout_weight, попробуйте поиграться с соответствующими параметрами layout_width и layout_height. Я не помню подробностей, но либо wrap_content, либо 0dp должен подойти, если я правильно понял задачу.
Ну и заодно, некрасиво использовать рядом match_parent и fill_parent.