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