web-dev-qa-db-ja.com

Android Imageviewが画面の幅を埋めます

ここに私のレイアウトファイル:

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:orientation="vertical"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
Android:background="#000"
tools:context=".CproductDetails" >

    <LinearLayout
        Android:orientation="vertical"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:background="@drawable/shape_bg"
        >

        <ImageView
            Android:id="@+id/product_image"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:src="@drawable/ic_Tweet_placeholder_photo_dark_error"
            Android:scaleType="center" />

        <TextView
            Android:id="@+id/product_name"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textIsSelectable="true"
            Android:textColor="#95ab56"
            Android:textSize="20sp"
            Android:layout_marginTop="7dip" />

        <TextView
            Android:id="@+id/product_price"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textIsSelectable="true"
            Android:textSize="20sp"
            Android:textColor="#efeeea" />

        <TextView
            Android:id="@+id/product_commerce"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textIsSelectable="true"
            Android:textSize="20sp" />

        <TextView
            Android:id="@+id/product_city"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textIsSelectable="true"
            Android:textSize="15sp"
            Android:layout_marginTop="10dip"
            Android:layout_marginBottom="10dip" />

        <TextView
            Android:id="@+id/product_township"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textIsSelectable="true"
            Android:textSize="15sp"
            Android:visibility="gone"
            Android:layout_marginBottom="10dip"
            Android:drawableLeft="@drawable/location_place"
            Android:drawablePadding="7dip" />

        <TextView
            Android:id="@+id/product_website"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textIsSelectable="true"
            Android:autoLink="web"
            Android:textSize="15sp"
            Android:drawableLeft="@drawable/location_web_site"
            Android:drawablePadding="7dip"
            Android:visibility="gone" />

         <TextView
            Android:id="@+id/product_tel"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:textIsSelectable="true"
            Android:textSize="20sp"
            Android:drawableLeft="@drawable/device_access_call"
            Android:drawablePadding="7dip"
            Android:visibility="gone" />

    </LinearLayout>

電話での結果:

enter image description here

そして7インチのタブレットでの結果:

enter image description here

タブレットでも画像を画面幅いっぱいにしたい。たとえば、Twitterアプリのように:

enter image description here

enter image description here

20
tsil

すべての人に感謝しますが、あなたの答えのどれも私の問題を解決しません。最後に、Maurycy Wojtowiczの ScaleImageView クラスを使用しました。

このビューは、高さまたは幅が設定されているかどうかを判断することによって幅または高さを自動的に決定し、画像の次元に応じて他の次元をスケーリングします

9
tsil

ImageViewでAndroid:scaleType="fitCenter"Android:adjustViewBounds="true"を使用したいようです。

55
Simon

使用する Android:scaleType="fitXY"

これは、XとYのイメージを個別にスケーリングするため、srcはdstと正確に一致します。これにより、srcのアスペクト比が変わる場合があります。

7
stinepike