2013-07-25 28 views
3

我有問題在Android中翻譯非常大的圖片。我想要的是我的圖片的高度被設置爲屏幕的高度,並顯示寬度的其餘部分而不改變圖像的比例。由於我的圖像非常寬,首先不會顯示整個圖像,但它會與平移,我會慢慢移動它在x軸上。在Android中翻譯大圖片作爲背景

我認爲必須有簡單的方法來做到這一點,但我已經努力了6個小時看着這裏和其他的所有問題,試圖找到我錯誤的地方,因爲我不能顯示我的照片,就像它顯示就像它可以顯示的一樣 - 高度設置爲全屏幕的高度和寬度,然後在翻譯時顯示圖片寬度的其他部分。

我的代碼:

import android.os.Bundle; 
... 

public class MainActivity extends Activity { 

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

ImageView imageView = (ImageView) findViewById (R.id.background); 
ObjectAnimator mover = ObjectAnimator.ofFloat(imageView, "translationX", 0, 1000f); 
mover.setDuration(10000);  
mover.start(); 
} 
} 

和簡單的佈局:

<?xml version="1.0" encoding="utf-8"?> 
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/background" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:src="@drawable/background" 
     android:scaleType="centerCrop"> 

與centerCrop和中心scaleType的事情是,他們都做同樣都 - 他們保持圖像的比例和高度是屏幕的高度,但圖像被剪切,當我製作動畫時,立即開始變成白色屏幕,好像沒有更多的圖片寬度。中心也沒有幫助。

你能幫我嗎?我已經失去了這麼多小時。我會非常感激。

回答

1

這裏的一個選項是將您的ImageView放入ScrollView的內部。執行此操作後,您可以創建一個計時器,例如TimerTask,每隔幾毫秒在屏幕上緩慢滾動圖像。

你可以找到更多關於定時器的位置:Android timer? How-to?

而一旦定時器的設置只需調用scrollView.scrollBy(10, 10)scrollView.scrollTo(10, 10)從TimerTask的中移動ScrollView進而轉化的連接ImageView