1

ViewFlipper 内にある絶対レイアウトの背景を設定しようとしています。私が得るものはこの画像に示されています。青い部分が画面全体を占めるのではなく、右側と下部に白い部分があります。この白い部分が目立つように黄色にしました。

ここに画像の説明を入力

ViewFlipper 内にないレイアウトに同じコードを使用すると、正常に動作します。

XML コード:

<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/view_flipper_id"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="6dip" >

<AbsoluteLayout
    android:id="@+id/main_layout_id"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

</AbsoluteLayout>

<AbsoluteLayout
    android:id="@+id/secondary_layout_id"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</AbsoluteLayout>

</ViewFlipper>

背景色を変更する場所:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ViewFlipper viewFlipper= (ViewFlipper)findViewById(R.id.view_flipper_id);
    AbsoluteLayout mainLayout=(AbsoluteLayout)viewFlipper.getChildAt(0);

     mainLayout.setBackgroundColor(Color.rgb(0, 0, 255));
}

事前に助けてくれてありがとう

4

1 に答える 1

0

の余白をViewFlipper6 dp に設定します。これは、内部レイアウトが親ビューに 6 ピクセルを残すことを意味します。これは、内部レイアウトの背景を設定しても、これらの 6 ピクセルには影響しないことを意味します。

次の行を削除するだけです。

android:layout_margin="6dip" 
于 2013-04-19T18:50:48.920 に答える