2017-02-19 30 views
1

У меня есть LinearLayout. В нем у меня есть несколько Fragments. Я хочу использовать мой топ Fragment в другом Activity, но сохраните его в том же размере. Моя проблема заключается в следующем: Activity - это RelativeLayout и android:weightSum не подлежит использованию. Как я могу сохранить свои размеры от LinearLayout до RelativeLayout?Изменение размеров между макетами

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:background="@drawable/appmenu" 
    android:weightSum="6.5"> 
    <fragment 
     android:id="@+id/titlebar" 
     class="com.abc.appname.titlebar" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"/> 
    <fragment 
     android:id="@+id/mainmenubuttons" 
     class="com.abc.appname.mainmenubuttons" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="4.5"/> 
    <fragment 
     android:id="@+id/bottombar" 
     class="com.abc.appname.bottombar" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"/> 

</LinearLayout> 

Решение: Я использовал RelativeLayout как предложено Процентное ниже. Я хотел бы отметить, мне пришлось добавить несколько вещей, чтобы заставить его работать правильно в том числе:

В Gradle:

compile 'com.android.support:percent:23.3.0' 

В XML:

xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 

Надежда это помогает следующий парень :)

+0

почтовый код '' RelativeLayout' в Acitivity' –

+0

Сейчас активность только имеет RelativeLayout ни с чем в этом, так как я не могу получить конкретные размеры для фрагментов. Он будет близок к идентичному LinearLayout. У меня не было бы проблем переключить LL на RL, но я стараюсь сохранять пропорции между размерами экрана. – Oliver

ответ

2

Использование ParcentRelativeLayout библиотека https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html

простая реализация

<android.support.percent.PercentRelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:background="@drawable/appmenu" 
    > 
    <fragment 
     android:id="@+id/titlebar" 
     class="com.abc.appname.titlebar" 
     android:layout_width="fill_parent" 

     app:layout_heightPercent="14.5%"/> 
    <fragment 
     android:id="@+id/mainmenubuttons" 
     class="com.abc.appname.mainmenubuttons" 
     android:layout_width="fill_parent" 

     app:layout_heightPercent="69%"/> 
    <fragment 
     android:id="@+id/bottombar" 
     class="com.abc.appname.bottombar" 
     android:layout_width="fill_parent" 

     app:layout_heightPercent="14.5%"/> 

</LinearLayout> 
+0

Удивительный! Благодаря! Я не знал, что это существовало. Именно то, что я искал. – Oliver

+0

Хорошо, см. Ответ на обновление. –