【发布时间】:2014-03-04 22:42:53
【问题描述】:
我正在尝试在我的布局中添加一个简单的水平分隔线(为此使用视图)。
现在的问题是,视图似乎占据了整个布局的高度,而不仅仅是它所在的 LinearLayout。它所在的 LinearLayout 的高度为 wrap_content。
在添加这些分隔符之前,我的布局如下所示:
这是之后的样子:
这是添加这 2 个视图后的 XML:
<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:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:id="@+id/current_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:text="Tuesday, March 3, 2014"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="16sp" />
<View
android:id="@+id/Separator"
android:layout_width="match_parent"
android:layout_height="5dp"
android:background="?android:attr/listDivider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/calories_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calories"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/grey"
android:textSize="30sp" />
<TextView
android:id="@+id/calories_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2500"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="60sp"
android:textStyle="bold" />
<TextView
android:id="@+id/calories_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/2750"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="30sp" />
<TextView
android:id="@+id/calories_percent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(75%)"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="30sp" />
</LinearLayout>
<View
android:id="@+id/Separator"
android:layout_width="match_parent"
android:layout_height="5dp"
android:background="?android:attr/listDivider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<TextView
android:id="@+id/protein_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Protein"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/grey"
android:textSize="16sp" />
<TextView
android:id="@+id/protein_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="60"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/protein_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/80"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="16sp" />
<TextView
android:id="@+id/protein_percent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(75%)"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="16sp" />
</LinearLayout>
<View
android:id="@+id/Separator"
android:layout_width="5dp"
android:layout_height="match_parent"
android:background="?android:attr/listDivider" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<TextView
android:id="@+id/carbs_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Carbs"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/grey"
android:textSize="16sp" />
<TextView
android:id="@+id/carbs_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="250"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/carbs_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/300"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="16sp" />
<TextView
android:id="@+id/carbs_percent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(75%)"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="16sp" />
</LinearLayout>
<View
android:id="@+id/Separator"
android:layout_width="5dp"
android:layout_height="match_parent"
android:background="?android:attr/listDivider" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<TextView
android:id="@+id/fat_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fat"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/grey"
android:textSize="16sp" />
<TextView
android:id="@+id/fat_today"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="50"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:id="@+id/fat_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/80"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="16sp" />
<TextView
android:id="@+id/fat_percent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(75%)"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/darkgrey"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
为什么会发生这种情况,我该如何解决?谢谢。
【问题讨论】:
-
无意冒犯,但布局过于复杂,无法花时间理解它。记住每个部分(卡路里、蛋白质、碳水化合物和脂肪)都有相同的要求,我将创建一个带有标签的通用布局,今天,总和百分比 TextViews,然后使用
来简化事情。抱歉,这没有回答您的问题,但如果您这样做,您可能会帮自己一个忙。
标签: android android-linearlayout android-view