Question

I'd like to have a simple player view with image, name and status. The image will be loaded via Google+.

The Problem I have is that with big images my ImageView get's far too wide and pushes my texts out of sight.

Here is an example to show how it looks like: https://dl.dropboxusercontent.com/u/11037539/unwanted_padding.png

Layout:

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/playerPane"
    android:background="@color/player2">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/playerName"
        android:layout_alignBottom="@+id/playerStatus"
        android:id="@+id/playerImage"
        android:src="@drawable/ic_contact_picture"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/playerImage"
        android:id="@+id/playerName"
        android:text="Player"
        android:textColor="@android:color/black"
        android:singleLine="true"
        android:textStyle="bold"
        android:paddingTop="@dimen/player_padding"
        android:paddingBottom="@dimen/player_padding"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/playerName"
        android:layout_alignLeft="@+id/playerName"
        android:id="@+id/playerStatus"
        android:text="status"
        android:singleLine="true"
        android:paddingBottom="@dimen/player_padding" />
</RelativeLayout>

I've tried all ImageView.scaleTypes, but so far nothing works..

Thanks a lot for your help!

Was it helpful?

Solution

You just need to define your width. It should fix it. So change this line

to something like:

   <ImageView
        android:layout_width="75dp" //OR WHATEVER LOOKS BEST

OTHER TIPS

ScaleType is only really useful when the imageview's size is smaller than the image. As previously mentioned, set the size and then you can use the scaleType to fix how the image should be scaled within the now smaller area.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top