0

这是我的代码。这只是一种形式。如果我使用我的 adv (Nexus S) 开始申请,表格显示正常,但如果我在小屏幕上使用它,它不会完全显示(我无法向下滚动查看表格的其余部分)。我使用了dip,但问题仍然存在。为什么?

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

    <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello_world"
            android:layout_marginTop="15dip"
            android:layout_marginBottom="25dip"
            />

    <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/edit_name"
            />
    <EditText
            android:id="@+id/edit_name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text=""
            android:hint="@string/edit_message"
            />

    <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/edit_lastname"
            android:layout_marginTop="15dip"
            />
    <EditText
            android:id="@+id/edit_lastname"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text=""
            android:hint="@string/edit_message"
            />

    <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/edit_sex"
            android:layout_marginTop="15dip"
            />
    <EditText
            android:id="@+id/edit_sex"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text=""
            android:hint="@string/edit_message"
            />

    <TextView 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/edit_age"
            android:layout_marginTop="15dip"
            />
    <EditText
            android:id="@+id/edit_age"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text=""
            android:hint="@string/edit_message"
            />

    <Button
            android:id="@+id/form_button"
            android:layout_height="wrap_content"
            android:text="@string/button_send"
            android:layout_marginTop="15dip"
            android:layout_marginLeft="90dip"
            android:layout_width="130dip"
            />

</LinearLayout>
4

2 回答 2

2

Views在一个小屏幕上,这是相当多的垂直。您可以为小屏幕创建一个layout不只是垂直的不同,但这并不是最好的方法,并且可能看起来不太好(实际上可能不会)

您可以将整个内容包装在 a 中ScrollView,以便当它不完全适合屏幕时它会滚动,就像较小的屏幕一样。

或者,您可以将 Android 属性用于这种称为android:hint的表单。您可以在s 中设置一个提示来告诉用户输入什么信息,而不是使用TextViews标签。EditText前任。

<EditText
     android:id="@+id/edit_name"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:text=""
     android:hint="@string/edit_message"
     android:hint="Please enter name here"    <!-- see this guy here. Would want to use string resources instead of hard-coded string -->
        />
于 2013-09-12T21:09:53.727 回答
0

您应该将 LinearLayout 包装在 ScrollView 中。

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true" >

    <LinearLayout>
    ...
    </LinearLayout>

</ScrollView>
于 2013-09-12T21:10:37.550 回答