布局设置出错

时间:2014-01-10 11:01:21

标签: android android-layout

现在我有一个布局,如图所示,只是我想要白色矩形内的蓝色矩形我去填充白色方块的整个大小..但我试图改变一些设置但不起作用。

Xml是:

    <merge xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   tools:context=".LoginActivity" >


    <!-- Login progress -->

    <LinearLayout
       android:id="@+id/login_status"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:gravity="center_horizontal"
       android:orientation="vertical"
       android:visibility="gone" >

        <ProgressBar
           style="?android:attr/progressBarStyleLarge"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginBottom="8dp" />

        <TextView
           android:id="@+id/login_status_message"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_marginBottom="16dp"
           android:fontFamily="sans-serif-light"
           android:text="@string/login_progress_signing_in"
           android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

    <!-- Login form -->

    <ScrollView
       android:id="@+id/login_form"
       android:layout_width="fill_parent"
       android:layout_height="match_parent"
       android:background="@color/background_color" >



        <LinearLayout
           style="@style/LoginFormContainer"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_gravity="center_horizontal"
           android:layout_marginTop="20dp"
           android:background="@color/background_login_color"
           android:orientation="vertical" >

        <LinearLayout
       android:id="@+id/row0"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/top_logo_repeat"
       android:gravity="center"
       android:orientation="vertical" >

        <ImageView
           android:id="@+id/imageLogo"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:antialias="true"
           android:contentDescription="@string/logoimg"
           android:src="@drawable/logo" />

    </LinearLayout>

            <EditText
               android:id="@+id/username"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:hint="@string/prompt_username"
               android:inputType="textEmailAddress"
                           android:layout_marginTop="20dp"

               android:maxLines="1"
               android:singleLine="true" />

            <EditText
               android:id="@+id/password"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:hint="@string/prompt_password"
               android:imeActionId="@+id/login"
               android:imeActionLabel="@string/action_sign_in_short"
               android:imeOptions="actionUnspecified"
               android:inputType="textPassword"
               android:maxLines="1"
               android:singleLine="true" />

            <CheckBox
               android:id="@+id/checkBox1"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:text="@string/saveCheckBox" />

            <Button
               android:id="@+id/sign_in_button"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_marginTop="16dp"
               android:paddingLeft="32dp"
               android:paddingRight="32dp"
               android:text="@string/action_sign_in_register" />

            <Button
               android:id="@+id/button1"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content"
               android:layout_toRightOf="@+id/sign_in_button"
               android:layout_weight="0.30"
               android:text="@string/registerButton" />

        </LinearLayout>

    </ScrollView>

</merge>

Screen Layout

1 个答案:

答案 0 :(得分:3)

您的linearLayout的样式设置为LoginFormContainer

<LinearLayout
       style="@style/LoginFormContainer"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_gravity="center_horizontal"
       android:layout_marginTop="20dp"
       android:background="@color/background_login_color"
       android:orientation="vertical" >

在这种风格中,很可能设定了边距。因此,LinearLayout中的所有内容都有余量。

解决方法是从样式中删除边距。 (或者从LinearLayout删除样式。

注意:这样也会删除图像下面的editText等边距,因为它们也是线性布局。

解决此问题的解决方案是将其余内容包装在自己的LinearLayout中,并将边距应用于此LinearLayout