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" >

Android 2.3.3 以下は、Android 4 以上とは異なる方法でマージンを計算していたようです。現在、それらはすべて同じように動作します。

あなたの場合、パディングとして黒いレイアウトのマージンを設定すると役立つかもしれません。

于 2014-08-19T11:25:34.903 に答える