2012-04-24 18 views
0

私はAndroidのレイアウトに奇妙なギャップがあります。何がどこにあるかを見ることができるように、私は自分のビューとレイアウトの背景色を設定しました。真ん中の灰色のボックスはギャップです。私はRelativeLayoutを全体的に(白い背景)、上部にツールバー(ピンク色で表示)、次にLinearLayoutを他のもの(黄色で表示)で表示しています。その黄色のレイアウトには、詳細情報(青色で表示)とリストビュー(赤色で表示)の2つの子があります。しかし、中間の灰色の領域...私はどこから来ているのか分かりません。ここでAndroidレイアウトにギャップが表示される

enter image description here

(読みやすくするためにクリップされたいくつかの情報を持つ)私のレイアウトファイルです:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rootView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#fff" 
> 
    <RelativeLayout 
     android:id="@+id/toolbar" 
     android:layout_width="fill_parent" 
     android:layout_height="44dp" 
     android:background="@drawable/toolbar_gradient" 
     android:layout_alignParentTop="true" 
     android:background="#f0f" 
     > 

     <Button style="@style/Button.Done" /> 
    </RelativeLayout> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@id/toolbar" 
     android:paddingTop="4dp" 
     android:weightSum="10" 
     android:orientation="vertical" 
     android:background="#ff0" 
    > 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="3.5" 
      android:weightSum="9" 
      android:orientation="vertical" 
      android:background="#00f" 
      > 

     </LinearLayout> 

     <ListView 
      android:id="@+id/tableView" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="6.5" 
      android:background="#f00" > 
     </ListView> 
    </LinearLayout> 

</RelativeLayout> 

ここで何が起こっていますか?私は何が欠けていますか?

EDIT:レイアウトxmlが問題ではないようです。私は実際の原因を減らし、減らし、減らして見つけようと努力してきました。 ListAdapterコードに問題があるように見えます。私はそれを発見するとさらに更新されます。

+0

おそらく問題の原因ではありませんが、ネストされた重み付きレイアウトは使用しないでください。 – Jave

+0

私は前もってウェイト合計を使用したことはありませんが、すぐに読み込みを行い、コンテナ内のすべてのレイアウトの合計をウェイト合計とすべきではありませんか?体重は3.5と6.5 = 10に設定されていますが、体重合計は9です。違いがありますか? – Gophermofur

+0

問題が見つかりません。私はあなたの.xmlをレイアウトにコピーし、それを上から下に塗りつぶしました。そこには空白がありません。だから私の傾向は、あなたが放棄した.xmlコードのどこかに問題があるということです。あなたが残したビットのlayout_weightsは合計9個ですか? – Barak

答えて

0

それで、修正されるまで物を取り除き、特定の問題に絞るために再び壊れるまで物事を取り戻すまで何度も繰り返したような感じがした後、私は私の誤りを発見しました。私は上記のリストビュー内のセルのレイアウトに関する私のスタイリングに問題を絞り込んだ。

さまざまなレイアウトサイズなどのさまざまなstyle.xmlコピーを作成して、さまざまなデバイスに適したフォントサイズやlayout_height値を提供して正しく見せるためのスクリプトを作成しました。しかし、私のスタイルテンプレートのエラーのために、<item name="android:layout_height">dp</item>という行で生成されていたstyle.xml。 dpの前に欠けていた数は、不器用な行動を引き起こしました。

sighまあ、吸った。 ;)

0

最初のLinearLayoutの定義からandroid:layout_alignParentBottom="true"行を削除してみましたか?

+0

はい。私は実際にスクリーンショットを撮る前にそのラインを外しましたが、上に貼り付けたxmlを更新するのを忘れました。明確にするために削除しましたが、はい、実際にはありませんでした。 –

関連する問題