Android相对布局不显示应该的元素

时间:2014-04-23 17:07:29

标签: android android-layout android-studio relativelayout android-ui

我正在学习Android,并尝试制作一个相对简单的应用程序,它会下载XML并根据输入参数显示一些结果。 我正在使用Android Studio 0.4.6和拖放式UI设计器。 我的问题是,当我在模拟器中启动应用程序时,我的UI与设计器中的UI看起来不一样。

这就是它在设计师中的表现:

enter image description here

这就是它在模拟器中的实际效果:

http://imgur.com/BDwKaQk

这是XML代码:

<RelativeLayout 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: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=".MainActivity"
    android:background="#95ffa1"
    android:id="@+id/mainActLayout">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/location"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textStyle="bold"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:text="@string/minTemp"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold"
        android:layout_below="@+id/button1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="19dp"
        android:text="@string/maxTemp"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView3"
        android:layout_below="@+id/textView3"
        android:layout_marginTop="32dp"
        android:text="@string/humidity"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView4"
        android:layout_below="@+id/textView4"
        android:layout_marginTop="21dp"
        android:text="@string/pressure"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView3"
        android:layout_toRightOf="@+id/textView3"
        android:ems="10"
        android:textStyle="bold"
        android:editable="false"
        android:enabled="false">

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView3"
        android:layout_alignBottom="@+id/textView3"
        android:layout_alignLeft="@+id/editText2"
        android:ems="10"
        android:editable="false"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_above="@+id/textView5"
        android:layout_toRightOf="@+id/textView3"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_alignBottom="@+id/textView5"
        android:layout_alignLeft="@+id/editText4"
        android:layout_alignStart="@+id/editText4"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="doSearchActivity"
        android:text="@string/search"
        android:layout_marginTop="50dp"
        android:textStyle="bold"
        android:background="@android:color/holo_orange_light"
        android:layout_below="@+id/textView1"
        android:layout_alignRight="@+id/editText2"
        android:layout_alignEnd="@+id/editText2" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Save To History"
        android:id="@+id/button"
        android:textStyle="bold"
        android:background="@android:color/holo_green_light"
        android:layout_alignTop="@+id/button2"
        android:layout_toLeftOf="@+id/editText6" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="View History"
        android:id="@+id/button2"
        android:textStyle="bold"
        android:background="@android:color/holo_green_light"
        android:layout_above="@+id/button3"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Clear History"
        android:id="@+id/button3"
        android:background="@android:color/holo_green_light"
        android:textStyle="bold"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/button"
        android:layout_toLeftOf="@+id/button2" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:layout_below="@+id/editText5"
        android:layout_toRightOf="@+id/textView3"
        android:layout_alignRight="@+id/editText5"
        android:layout_alignEnd="@+id/editText5"
        android:textStyle="bold" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText6"
        android:layout_below="@+id/editText"
        android:layout_alignLeft="@+id/editText"
        android:layout_alignStart="@+id/editText"
        android:layout_alignRight="@+id/editText"
        android:layout_alignEnd="@+id/editText"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:layout_above="@+id/editText6"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:text="@string/wind"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/clouds"
        android:id="@+id/textView6"
        android:layout_alignBottom="@+id/editText6"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textStyle="bold" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="date"
        android:ems="10"
        android:id="@+id/editText7"
        android:layout_above="@+id/textView2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textStyle="bold"
        android:editable="false" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/date"
        android:id="@+id/textView7"
        android:layout_above="@+id/editText7"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textStyle="bold"
        android:editable="false"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText1"
        android:layout_above="@+id/textView7"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_toRightOf="@+id/textView2"
        android:editable="true" />

</RelativeLayout>

请问你帮我吗?

2 个答案:

答案 0 :(得分:0)

您需要使用ScrollView。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    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=".MainActivity"
    android:background="#95ffa1"
    android:id="@+id/mainActLayout">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/location"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textStyle="bold"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:text="@string/minTemp"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold"
        android:layout_below="@+id/button1"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="19dp"
        android:text="@string/maxTemp"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView3"
        android:layout_below="@+id/textView3"
        android:layout_marginTop="32dp"
        android:text="@string/humidity"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView4"
        android:layout_below="@+id/textView4"
        android:layout_marginTop="21dp"
        android:text="@string/pressure"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/textView3"
        android:layout_toRightOf="@+id/textView3"
        android:ems="10"
        android:textStyle="bold"
        android:editable="false"
        android:enabled="false">

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/editText3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView3"
        android:layout_alignBottom="@+id/textView3"
        android:layout_alignLeft="@+id/editText2"
        android:ems="10"
        android:editable="false"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_above="@+id/textView5"
        android:layout_toRightOf="@+id/textView3"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/editText5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_alignBottom="@+id/textView5"
        android:layout_alignLeft="@+id/editText4"
        android:layout_alignStart="@+id/editText4"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="doSearchActivity"
        android:text="@string/search"
        android:layout_marginTop="50dp"
        android:textStyle="bold"
        android:background="@android:color/holo_orange_light"
        android:layout_below="@+id/textView1"
        android:layout_alignRight="@+id/editText2"
        android:layout_alignEnd="@+id/editText2" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Save To History"
        android:id="@+id/button"
        android:textStyle="bold"
        android:background="@android:color/holo_green_light"
        android:layout_alignTop="@+id/button2"
        android:layout_toLeftOf="@+id/editText6" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="View History"
        android:id="@+id/button2"
        android:textStyle="bold"
        android:background="@android:color/holo_green_light"
        android:layout_above="@+id/button3"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Clear History"
        android:id="@+id/button3"
        android:background="@android:color/holo_green_light"
        android:textStyle="bold"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/button"
        android:layout_toLeftOf="@+id/button2" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:layout_below="@+id/editText5"
        android:layout_toRightOf="@+id/textView3"
        android:layout_alignRight="@+id/editText5"
        android:layout_alignEnd="@+id/editText5"
        android:textStyle="bold" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText6"
        android:layout_below="@+id/editText"
        android:layout_alignLeft="@+id/editText"
        android:layout_alignStart="@+id/editText"
        android:layout_alignRight="@+id/editText"
        android:layout_alignEnd="@+id/editText"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:layout_above="@+id/editText6"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:text="@string/wind"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/clouds"
        android:id="@+id/textView6"
        android:layout_alignBottom="@+id/editText6"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textStyle="bold" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="date"
        android:ems="10"
        android:id="@+id/editText7"
        android:layout_above="@+id/textView2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textStyle="bold"
        android:editable="false" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/date"
        android:id="@+id/textView7"
        android:layout_above="@+id/editText7"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:textStyle="bold"
        android:editable="false"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText1"
        android:layout_above="@+id/textView7"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_toRightOf="@+id/textView2"
        android:editable="true" />

</RelativeLayout>
</ScrollView>

答案 1 :(得分:0)

我看到了不同的问题。

首先,在底部你有一些元素。您尝试使用ScrollView容器解决。(将所有代码放在Scrollview中)

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

其次,我看到textview,edittext和button的比例大小是不同的。我建议阅读有关weightSum的内容,这是按钮的方式,所有元素在不同的屏幕尺寸上看起来都相同。

http://developer.android.com/reference/android/widget/LinearLayout.html#attr_android:weightSum