10

在创建一个简单的 xml 设计时,我的项目中遇到了一个奇怪的问题,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="#FF0000"
    android:layout_marginLeft="30dp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button" 
        android:layout_gravity="left|center_vertical"/>

现在看看区别,这是4.2.2中的视图:

2.3.3版本

而这个在2.3.3

在此处输入图像描述

如果有人可以帮助我,将不胜感激。谢谢

4

2 回答 2

3

它可以工作,如果你把它改成这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:layout_marginLeft="30dp"
    android:background="#FF0000"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:text="New Button" />

</LinearLayout>

(我想我知道它为什么会这样,让我检查一下。稍后我会添加解释)

于 2013-04-22T14:24:01.220 回答
0

我遇到了同样的问题,就我而言,我有类似的事情

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/match"
    android:background="@color/light"
    android:orientation="vertical"
    android:layout_margin="@dimen/lateral_margin" >

    <ImageView
        android:id="@+id/full_screen_image"
        style="@style/match_width"
        android:scaleType="fitCenter"
        android:layout_gravity="center"
        android:layout_weight="2"
        android:contentDescription="@string/image_content_description"/>

    <TextView
        android:id="@+id/barcode_number"
        style="@style/match_width"
        android:gravity="center"
        android:textColor="@color/dark_text"
        android:textSize="30sp"
        android:visibility="gone" />

</LinearLayout>

我的问题解决了

    android:layout_margin="@dimen/lateral_margin" >

和:

    android:padding="@dimen/lateral_margin" >

似乎 androids 2.3.3 及更低版本计算边距的方式与 android 4 及更高版本不同。现在他们都以同样的方式行事。

在您的情况下,将黑色布局边距设置为填充可能会有所帮助。

于 2014-08-19T11:25:34.903 回答