3

Android で非常に大きな画像を翻訳する際に問題があります。私が望むのは、画像の高さを画面の高さに設定し、画像の比率を変更せずに残りの幅を表示することです。私の画像は非常に広いので、最初は全体が表示されるわけではありませんが、移動すると表示されるため、x 軸上でゆっくりと移動します。

これを行うには簡単な方法があるに違いないと思いますが、ここや他のすべての質問を見てすでに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 と center を持つ scaleType のことは、それらが両方とも同じことを行うことです-それらは画像の比率を維持し、高さは画面の高さですが、画像が切り取られ、アニメーションを作成すると、幅がなくなったかのようにすぐに白い画面になり始めます写真。centerInside も役に立ちません。

手伝ってくれませんか?私はすでにこれで多くの時間を失いました。本当に感謝しています。

4

1 に答える 1

1

ここでの 1 つのオプションは、 のImageView中に配置することScrollViewです。TimerTaskこれを行った後、数ミリ秒ごとに画面上で画像をゆっくりとスクロールするなどのタイマーを作成できます。

タイマーの詳細については、Android タイマー? 方法?

タイマーがセットアップされたら、TimerTask 内からscrollView.scrollBy(10, 10)orを呼び出して を移動するだけで、添付の が変換されます。scrollView.scrollTo(10, 10)ScrollViewImageView

于 2013-07-25T01:15:10.130 に答える