将框架布局的图层拉伸到另一个图层

时间:2013-11-21 17:29:48

标签: android android-layout

我的屏幕上有一个框架布局(见下面的代码)。此布局由2层组成。第一层是LinearLayout,有几个视图,高度= "wrap_content"。第二个是带有"fill_parent"的ProgressBar。我需要进度条将其自身拉伸到线性布局的高度,但现在它不考虑线性布局的高度。

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<ProgressBar
    android:id="@+id/progress"
    android:indeterminateOnly="false"
    android:progressDrawable="@drawable/progressbar_drawable"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/file_item_background">

    ---
</LinearLayout>

</FrameLayout>

1 个答案:

答案 0 :(得分:1)

而不是FrameLayout,请尝试RelativeLayout

然后,您可以在ProgressBar上设置android:layout_alignTopandroid:layout_alignBottom以匹配LinearLayout的高度,如下所示:

<ProgressBar
    android:id="@+id/progress"
    android:indeterminateOnly="false"
    android:progressDrawable="@drawable/progressbar_drawable"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/my_linear_layout"
    android:layout_alignBottom="@+id/my_linear_layout" />

<LinearLayout
    android:id="@+id/my_linear_layout"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/file_item_background">

    ---
</LinearLayout>

另一种选择是手动调整代码中的高度。

通常,如果布局要求要求相对于另一个视图的位置或大小,则要使用RelativeLayout。