Я много часов боролся, чтобы заставить этот макет работать.Каков наилучший способ создания этого макета в Android?
Вот мой код:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="horizontal"
tools:context=".MainPreviewActivity">
<fragment
android:name="com.apps.foo.CleanPreviewFragment"
android:id="@+id/clean_preview_fragment"
android:layout_weight="0.5"
android:layout_width="0dp"
android:layout_height="match_parent">
</fragment>
<fragment
android:name="com.apps.foo.pointop.DirtyPreviewFragment"
android:id="@+id/filters_fragment"
android:layout_weight="0.5"
android:layout_width="0dp"
android:layout_height="match_parent">
</fragment>
<fragment
android:name="com.apps.foo.pointop.ProcessedPreviewFragment"
android:id="@+id/processed_preview_fragment"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent">
</fragment>
</LinearLayout>
Каждый фрагмент представляет собой простой RelativeLayout (все они имеют один и тот же вид):
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.apps.<whatever the fragment name is>">
</RelativeLayout>
Теперь я хочу заставить его работать, как это :
1) Нет вложенная layout_weight
2) Нет Вложение вообще (например, гнездо 2 первых фрагментов и т.д. и т.д.)
3) Не используя код, чтобы сделать это программным способом после того, как точка зрения визуализации ,
На мой взгляд чистейшая наиболее читаемый способ сделать это, было бы установить ориентацию фрагмента 1 и фрагмент 2 к горизонтали, и фрагмент 3 к вертикали, но он не работает.
Я также проверил this answer, , но парень использует layout_weight
с RelativeLayout. RelativeLayouts игнорируют весы, это не сработает.
Любая помощь будет оценена по достоинству?
да, но как я уже упоминал, что использует «андроид: layout_weight =» 1 "" в relative_layout. Разве это не против правил? RelativeLayouts игнорируют вес? Так почему же он даже работает на этого парня? –
'RelativeLayout' имеет' LinearLayout' в качестве родителя, поэтому 'layout_weight' будет работать. Это родительское представление действует на вес, а 'LinearLayout' действительно поддерживает его. – nhaarman
Пожалуйста, смотрите здесь http://stackoverflow.com/a/14009266/990194. Еще один вопрос, имеет значение, каковы мои макеты фрагментов? –