Я хочу создать пользовательский элемент списка. В основном он имеет 3 области в горизонтальном LinearLayout. Самый левый должен быть 50dp в ширину, и самый правый. Я бы хотел, чтобы тот, кто посередине, занял остальную часть пространства. В итоге это должно быть «50px | width - 100px | 50px». Я знаю, что могу сделать это программно. Но могу ли я это сделать и в xml?Смешивание абсолютных и относительных размеров в Android Layout - как?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:gravity="right" >
<FrameLayout
android:id="@+id/frameLayout1"
android:layout_width="50dp"
android:layout_
android:layout_height="match_parent"
android:layout_weight="0">
</FrameLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="fill"
android:orientation="vertical"
android:layout_weight="0">
</LinearLayout>
<FrameLayout
android:id="@+id/frameLayout2"
android:layout_width="50dp"
android:layout_height="match_parent"
android:layout_weight="0" >
</FrameLayout>
</LinearLayout>
Как обычно: с нетерпением жду, чтобы услышать ваши умные мысли & большое спасибо!
Теперь я чувствую себя немного глупо. Я мог бы поклясться, что я пытался это сделать, но вы, вероятно, теперь это чувство. Можете ли вы указать мне более подробную документацию, чем http://developer.android.com/guide/topics/ui/declaring-layout.html? Объясните логику весов немного дальше? Благодаря! – fluxon
Элемент сначала занимает определенное пространство. Затем, если осталось еще свободное место, остаток распределяется по разным частям, основываясь на их весах. Таким образом, вес 0 не получает ничего лишнего, вес 2 получает в два раза лишнее пространство как вес 1 и т. Д. По крайней мере, это логика LinearLayout. –
Этот ответ дал мне 1000 :-) –