我的布局中的最后一个元素未显示

时间:2014-08-28 18:34:27

标签: android android-layout

我是android开发世界的新手(我刚刚开始昨天)。

我的布局有问题,这里是代码:

<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:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.simplecalculator.MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/calculator" />

    <EditText
        android:id="@+id/first_number"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number" />

    <LinearLayout
        android:id="@+id/LinearLayout01"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <Button
            android:id="@+id/button_plus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="plusOperation"
            android:text="@string/plus" />

        <Button
            android:id="@+id/button_minus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginStart="30dp"
            android:onClick="minusOperation"
            android:text="@string/minus" />

        <Button
            android:id="@+id/button_multiply"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginStart="30dp"
            android:onClick="multiplyOperation"
            android:text="@string/multiply" />

        <Button
            android:id="@+id/button_divide"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:layout_marginStart="30dp"
            android:onClick="divideOperation"
            android:text="@string/divide" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/LinearLayout02"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <EditText
            android:id="@+id/second_number"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:inputType="number" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/equal" />

        <TextView
            android:id="@+id/result"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
     </LinearLayout>
</LinearLayout>

问题是LinearLayout LinearLayout02(1 EditText和2 TextView)中的元素由于某种原因没有显示?有人可以帮我解决这个问题吗?

由于

2 个答案:

答案 0 :(得分:2)

你有

android:layout_height="fill_parent"

在你的两个LinearLayout中,所以第一个没有为第二个留出空间。将两者都改为

android:layout_height="wrap_content"

另请注意,fill_parent已弃用,您应该使用match_parent

答案 1 :(得分:2)

<LinearLayout
        android:id="@+id/LinearLayout01"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >  

此子布局的高度设置为fill_parent,因此它会扩展以填满整个屏幕。将其设置为wrap_content。这同样适用于

<LinearLayout
        android:id="@+id/LinearLayout02"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >  

几点:

  • 使用match_parent,因为fill_parent已被弃用。
  • 您正在嵌套太多布局。请考虑使用RelativeLayout进行性能改进。