一半 - ImageView必须占据50%&另一半 - 2 EditTexts& 2个按钮必须占据其他50%

时间:2014-06-24 14:51:52

标签: java android android-layout android-linearlayout android-imageview

我需要形成一个布局,其中我想将一个图像放在屏幕的上部50%和两个EditText&两个按钮位于屏幕的下方50%,并且它应该与设备无关,以便视图不会在较小或较大的屏幕上受到干扰,它可以在最小的3.2" HVGA设备,但如果在更小的设备上运行,一切都会重叠。添加ScrollView后,它没有为您提供所需的输出,这是我的XML:

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

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_gravity="center"
    android:layout_weight="0.5"
    android:gravity="center"
    android:scaleType="center"
    android:src="@drawable/ic_launcher" />

<EditText
    android:id="@+id/email"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.125"
    android:ems="10"
    android:inputType="textEmailAddress" >
</EditText>

<EditText
    android:id="@+id/password"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.125"
    android:ems="10"
    android:inputType="textPassword" />

<Button
    android:id="@+id/submit"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.125"
    android:text="Sign In" />

<Button
    android:id="@+id/signup"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.125"
    android:text="Create An Account" />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

这就是你的布局需要的样子,伪代码:

<Linearlayout - vertical
    <ImageView, weight 1 />
    <LinearLayout - horizontal, weight 1 
        <LinearLayout - vertical, weight 1
            <TextView, weight 1 />
            <Button, weight 1 />
        <LinearLayout - vertical, weight 1
            <TextView, weight 1 />
            <Button, weight 1 />
    />
/>

对于TextViewsButtons,请确保将宽度设置为match_parent。对于ImageViewLinearLayout,请确保将高度和宽度设置为0dp