2015-06-23 81 views
0

我有ImageView如下的問題: 我有大尺寸(比其在屏幕部分更大)的圖像,當我設置SRC爲imageView爲:機器人:ImageView的顯示失敗,大尺寸

<ImageView 
     android:id="@+id/splash_second_iv_right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:src="@drawable/phone_white" 
     android:layout_toLeftOf="@id/middle" 
     android:visibility="visible" 
     android:padding="0dp" 
     android:layout_marginBottom="0dp"/> 

然後我把它改成一個RelativeLayout,問題是圖像的內容顯示爲包裹在ImageViewImageView大小是非常大的(似乎在ImageView四邊因爲它自動創建的圖像視圖填充,因爲我的計算爲佈局失敗(不能對齊孩子的屬性位置))。

有人可以告訴我這裏有什麼問題,我該如何解決這個問題?

請看看圖像有一個更好的理解。此外,我添加屬性:

android:adjustViewBounds="true" 
    android:scaleType="fitEnd" 

我可以對齊內容,因爲我想要但ImageView的大小仍然很大。

enter image description here

的xml文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@android:color/white" 
android:id="@+id/splash_slide_forth"> 
<TextView 
    android:id="@+id/splash_forth_tv_title" 
    android:paddingLeft="60dp" 
    android:paddingRight="60dp" 
    android:layout_centerHorizontal="true" 
    android:gravity="center_horizontal" 
    android:text="@string/splash_4th_title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:textColor="#2b333b" 
    android:layout_marginTop="40dp" 
    android:textSize="28sp" 
    /> 

<TextView 
    android:gravity="center_horizontal" 
    android:layout_below="@id/splash_forth_tv_title" 
    android:id="@+id/splash_forth_tv_desc" 
    android:paddingLeft="60dp" 
    android:paddingRight="60dp" 
    android:layout_centerHorizontal="true" 
    android:text="@string/splash_4th_description" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#2b333b" 
    android:layout_marginTop="10dp" 
    android:textSize="15sp" 
    /> 


<ImageView 
    android:layout_below="@id/splash_forth_tv_desc" 
    android:id="@+id/splash_forth_iv_vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/phone_vertical" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:scaleType="fitEnd" 
    android:adjustViewBounds="true" 
    android:visibility="gone" 
    /> 

<ImageView 
    android:layout_below="@id/splash_forth_tv_desc" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/splash_forth_iv_horizontal" 
    android:src="@drawable/horizontal_phone" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:adjustViewBounds="true" 
    android:scaleType="fitEnd" 
    android:visibility="visible" 
    /> 

+0

請使用RelativeLayout顯示您的整個XML –

+0

謝謝@ShoebSiddique,我更新了我的佈局文件 –

+1

使用fitEnd時,您不需要adjustViewBounds。整個ImageView如此之大的原因是因爲您將「layout_below」參數設置爲「alignParentBottom」。 RelativeLayout通過調整ImageView的大小來填充空間。這不應該成爲一個問題。實際上,當屏幕變得更小時(如果它太小,您可能想要做不同的佈局)就是你想要的。鑑於你提供的代碼,我不明白爲什麼這是在ImageView的中心。 – DeeV

回答

-1

請設置圖片爲背景,

<ImageView 
    android:id="@+id/splash_forth_iv_horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentBottom="true" 
    android:layout_below="@id/splash_forth_tv_desc" 
    android:layout_centerHorizontal="true" 
    android:adjustViewBounds="true" 
    android:scaleType="fitEnd" 
    android:background="@drawable/demo_image" 
    android:visibility="visible" /> 

我真的希望它爲你工作,否則我們會做一些其他。

+0

我試過了Image和scale scale一樣使用scaleType = fitXY,尺寸還是很大的:( –

+0

讓我跑你的代碼給我一分請 –

+0

謝謝,請記住圖像的大尺寸 –

相關問題