Хорошо, у меня это работает. Атрибут высоты "block_container" установлен в случайное значение 200 dp, вы захотите изменить высоту в соответствии с вашими потребностями или потенциально установить ее в значение "wrap_content". Я проверил это на эмуляторе и устройстве.
Я также предполагаю, что вы хотите, чтобы все три блока были расположены на одинаковом расстоянии. Обратите внимание, как родительский "block_container" имеет weight_sum 9? Дети имеют одинаковую ширину, потому что они имеют вес 3 каждый (3 блока * 3 веса каждый = всего 9 весов).
Я заметил, прежде чем выглядело, как будто вы пытались использовать вес как ширину, например. вес 569. Просто запомни вес! = ширина прямо.
РЕДАКТИРОВАТЬ: добавлены отсутствующие атрибуты id из некоторых представлений
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/top_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/block_container"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:orientation="horizontal"
android:weightSum="9"
>
<View
android:id="@+id/left_block"
android:layout_height="fill_parent"
android:layout_width="0dp"
android:layout_weight="3"
android:background="#00FF00"/>
<ImageView
android:id="@+id/img"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="3"
android:background="#ff0000"
android:src="@drawable/logo" />
<View
android:id="@+id/right_block"
android:layout_height="fill_parent"
android:layout_width="0dp"
android:layout_weight="3"
android:background="#0000FF"
/>
</LinearLayout>
</LinearLayout>