线性布局元素不占整个屏幕

时间:2017-01-24 18:02:42

标签: android android-layout layout

我有一个小的线性布局和另一个线性布局,当我为它添加权重并尝试占据整个屏幕时会出现一些错误。请检查我的代码并帮助我。

/home/rrogers/tmp.cpp: In constructor ‘Child<ModelT>::Child(int)’:
/home/rrogers/tmp.cpp:9:18: error: class ‘Child<ModelT>’ does not have any field named ‘Parent’
   Child(int i) : Parent(i) {}
                  ^

我尝试为它添加重量,但它没有用,所以我删除了它。虽然我知道我必须将宽度设置为0并将权重设置为1但我对如何使其在嵌套布局上工作感到困惑。但是,我能够在单个线性布局上进行工作......

2 个答案:

答案 0 :(得分:0)

一些注意事项:

  • 为什么你的ImageView元素为0宽?
  • android:layout_weight="1"的TextView元素应为0高度

它应该可以解决你的问题。

答案 1 :(得分:0)

试试这个

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:id="@+id/linear_layout_two"
        android:layout_below="@+id/linear_layout_one"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

    <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="60dp"
            android:orientation="vertical"
            >

        <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:textSize="25dp"
                android:textColor="#3193b9"
                android:text="99.3%"
                android:layout_weight="1"
                android:id="@+id/goals_accuracy"/>

        <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:textSize="10dp"
                android:gravity="center"
                android:text="Goals accuracy"
                android:layout_weight="1"
                android:id="@+id/goals_accuracy_2"/>

    </LinearLayout>

    <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="60dp"
            android:orientation="vertical">

        <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:textSize="25dp"
                android:textColor="#3193b9"
                android:text="10:30hr"
                android:gravity="center"
                android:layout_weight="1"
                android:id="@+id/total_time_on_ice"/>

        <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:textSize="10dp"
                android:text="Total time on ice"
                android:gravity="center"
                android:layout_weight="1"
                android:id="@+id/total_time_on_ice_2"/>

    </LinearLayout>
</LinearLayout>

我删除了ImageView,添加了一个为你的fisrt LinearLayout

呈现右边框的背景

简短说明:

我已经为每个LinearLayout分配了相等的权重1.因此它们每个都具有半父宽度。并添加了width = 0dp,因为你有一个水平父LinearLayout,所以你必须设置为0子宽。

ImageView反而没用,你可以按照我的解释实现边界目标。通过这种方式,您还可以简化您的xml