Проблема
Нельзя использовать параметры layout_weight для RelativeLayout.Это параметры из LinearLayout.Я дам немного больше информации о различиях позже.Но сначала о решении для этого вопроса
A Решение
Используйте LinearLayout, где вы можете расположить элементы в ряд с распределением веса. Не забудьте использовать ширину 0dp при добавлении layout_weights! В приведенном ниже примере показано распределение веса 70 / 30.
<LinearLayout
android:id="@+id/wrapper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="1.0" >
<Button
android:text="left"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".70" />
<Button
android:text="right"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".30" />
</LinearLayout>
Все это в RelativeLayout, которое вы уже имели вваш код.Остальная часть этого ответа является справочной информацией, которую каждый из этих вопросов должен прочитать, чтобы понять, что они делают.
RelativeLayout
Всякий раз, когда вы начинаете с макетас более чем одним элементом я советую вам предпочесть RelativeLayout в пользу линейной вещи.RelativeLayout очень мощный и позволяет вам позиционировать элементы относительно друг друга (leftOf, ниже, ...).В большинстве случаев это больше, чем вам когда-либо понадобится.
Пример из документа по разработке для Android (поверьте мне, все это есть):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp" >
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/reminder" />
<Spinner
android:id="@+id/dates"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/times" />
<Spinner
android:id="@id/times"
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_alignParentRight="true" />
<Button
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_below="@id/times"
android:layout_alignParentRight="true"
android:text="@string/done" />
</RelativeLayout>
LinearLayout
LinearLayout тоже может выглядеть очень функционально, но для того, чтобы отсортировать все только с помощью Linear, вы, скорее всего, начнете вкладывать эти макеты.И вот тут-то и получается уродливая производительность.
Снова пример из документации по разработке для Android .
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/to" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/subject" />
<EditText
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="top"
android:hint="@string/message" />
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/send" />
</LinearLayout>