这是我的代码。这只是一种形式。如果我使用我的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>
答案 0 :(得分:2)
在小屏幕上垂直显示的是Views
。你可以创建一个不同的layout
,它不仅仅是小屏幕的垂直,但这不是最好的方式,可能看起来不太好(实际上可能不会)
你可以将整个事物包裹在ScrollView
中,这样当它不适合屏幕时就会滚动,就像屏幕较小一样。
或者您可以将Android属性用于此类型的名为android:hint的表单。您可以在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 -->
/>
答案 1 :(得分:0)
您应该在ScrollView中包装LinearLayout。
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true" >
<LinearLayout>
...
</LinearLayout>
</ScrollView>