1

重みが定義された相対レイアウトで ImageView サイズがどのように機能するかわかりません

これは私のコードです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".CameraActivity" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight="76" >

        <ImageView
            android:id="@+id/imagePreview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:src="@drawable/photo_placeholder" />

        <Button
            android:id="@+id/timeButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:onClick="onClick"
            android:text="Button" />

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:layout_weight="24" >

        <ImageButton
            android:id="@+id/mainButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:background="#0fff"
            android:src="@drawable/cam_main_btn_normal" />

        <ImageButton
            android:id="@+id/nextButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="22dp"
            android:background="#0fff"
            android:src="@drawable/gs_05_check_normal" />

        <ImageButton
            android:id="@+id/cancelButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="22dp"
            android:background="#0fff"
            android:src="@drawable/cam_cancel" />
    </RelativeLayout>

</LinearLayout>

取得します 間違った結果 が、画像を削除すると、期待どおりに寸法が正しく表示されます imageView なしの結果

問題は、相対的なレイアウトの重みを考慮して imageView が完全なスペースを取るようにするにはどうすればよいですか?

imageView の android:layout_width, android:layout_height を wrap_content に変更しようとしました (意味はありませんが、チェックするだけです) 動作しません。私はscaleTypeの有無にかかわらず試しましたが、異なる値は変わりません。

ImageViewにはトリック/マジックが必要だと思いますか?

-- 編集 -- 2 番目のスクリーンショットで青色で強調表示されているサイズの画像が表示されることを期待しています:) -- 編集 -- 私が達成したいこと: 達成したい結果

4

2 に答える 2

0

In fact that code was good and it's more of an eclipse "preview" bug as it works on device (did not have a chance to test before)

Sorry all

于 2013-07-03T12:11:54.917 に答える