我有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 Percentages,如下所示。我想请注意,我必须添加一些东西才能使其正常工作,包括:
在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 :(得分: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>