LinearLayout分割线不渲染

时间:2017-12-17 17:22:56

标签: android android-layout

我有一个问题。 LinearLayout上的垂直分隔线不会为我渲染。奇怪的是,它会在“预览”中呈现出来。但不是在应用程序运行时。实际上,只有在我将一个子项添加到LinearLayout的某个子项时,才会显示分隔线。

分隔符也适用于其他.xml文件但不适用于此文件。

任何帮助将不胜感激。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true"
            android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/calendar_inner_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <FrameLayout
            android:id="@+id/calendar_hour_col"
            android:layout_width="@dimen/column_0"
            android:layout_height="match_parent"
            android:layout_alignParentStart="true"
            android:background="@drawable/rounded_borders"
            android:backgroundTint="@android:color/holo_blue_light"
            android:gravity="center_horizontal"/>

        <LinearLayout
            android:id="@+id/calendar_events_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="center_horizontal"
            android:layout_toEndOf="@+id/calendar_hour_container"
            android:baselineAligned="false"
            android:divider="@drawable/vertical_divider"
            android:showDividers="middle">

            <!-- The dividers here only show if the FrameLayout has children. 
            However if the FrameLayout is empty, no divider appears. -->
            <FrameLayout
                android:id="@+id/suday_col"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="@color/mediumGray"/>
          <!-- More days etc..-->
        </LinearLayout>
    </RelativeLayout>
</ScrollView>

就好像虽然LinearLayout中的FrameLayout是空的。但是因为我在ScrollView上设置fillViewPort = true它应该填满整个屏幕吗?

1 个答案:

答案 0 :(得分:0)

好吧所以我无法弄清楚为什么FrameLayout的高度为零所以我有一个可能适用于布局相似的人的解决方法。

由于calendar_hour_col FrameLayout将始终是正确的大小,我只需将其添加到LinearLayout以匹配其大小

android:layout_toEndOf="@+id/calendar_hour_col"
android:layout_alignTop="@+id/calendar_hour_col"
android:layout_alignBottom="@+id/calendar_hour_col"