2011-08-30 204 views
6

我有一個ImageView在android中。我想要將圖像部分移動到屏幕內,以便只能看到圖像的一部分。如果我在xml中設置了邊距或填充,圖像會縮小。我在onCreate方法中使用了翻譯Animation。但是當我第一次看到視圖時,我看到圖像在移動。我希望圖像能夠部分可見,而不會看到移位。有沒有辦法做到這一點?在android中移動圖像部分在屏幕上移動

+0

如果可能,您是否可以發佈圖片視圖代碼? – EpicOfChaos

+0

你有什麼高度和寬度設置?如果您將它們設置爲比您的屏幕大小更大的值,則應該可以使用邊距或填充將其移動到任何需要的位置。您的佈局也必須大於屏幕尺寸。 – FoamyGuy

+0

沒有imageView代碼。我將圖像放入xml文件中。 – user866821

回答

2

這個怎麼樣。

在你活動的onCreate:

ImageView yourImage = (ImageView)findViewById(R.id.your_image_control_id); 
yourImage.setX(1000); 
yourImage.setY(1000); 

這樣一來,它在啓動時正確定位。或者你可以使用AbsoluteLayout並以這種方式設置圖像的x和y座標。確保你沒有使用fill_parent作爲高度或寬度。

+3

我的API是2.1和更高。 SetX來自API 11.不是絕對佈局已棄用。 – user866821

4
父視圖

(如LinearView)設置ClipChildrens=false,如果你正在尋找

檢查這個代碼,它的工作對我來說...

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_marginRight="-20dp" 
     android:src="@drawable/ic_launcher" /> 

</FrameLayout> 
+0

感謝您的回覆。它不起作用 – user866821

+0

它對我也不起作用。 :( – Hesam

+0

@Hesam我編輯了答案 –

2

我發現,如果你使用負邊緣,那麼你不能在對面的alignParent,所以,假設你想讓圖像在視圖的右邊放一半,你不能指定android:layout_alignParentLeft。另外,如果您需要完整圖像並且不希望它被剪裁,就像在想要在全屏幕上點擊動畫的情況下一樣,您必須設置父級佈局android:clipChildren =「false」。以下XML DEF對我的作品:

<ImageView 
     android:id="@+id/you_feature_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="@dimen/feature_margin_right" 
     android:contentDescription="feature_image" 
     android:gravity="center_vertical" 
     android:padding="@dimen/zero" 
     android:paddingBottom="@dimen/zero" 
     android:paddingLeft="@dimen/zero" 
     android:paddingRight="@dimen/zero" 
     android:paddingTop="@dimen/zero" 
     android:src="@drawable/feature_phone_02_2x" /> 

我張貼這個,因爲我只燒了幾個小時試圖弄清楚這一點我自己,想也許這會幫助別人在未來,他們應該來像我一樣在這個問題上。