0

アプリのフォト ギャラリーを作成する最良の方法は何だろうか。RSS フィードから写真を取得し、それぞれをフルスクリーンで表示したいと考えています。何を使えばいいですか?ImageView を試してみましたが、画像のサイズが不適切に変更されています (元のサイズを維持していません)。

この回答を使用してギャラリーを実装しました: Android Gallery fullscreen

ありがとう

編集 :

XML レイアウトは次のとおりです。

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

    <android.support.v4.view.ViewPager
        android:id="@+id/galleryPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

    </android.support.v4.view.ViewPager>

</LinearLayout>

そして、画像をロードするためにアダプタで使用するコードは次のとおりです。

@Override
public Object instantiateItem(View collection, int position) {
    ImageView imageView = new ImageView(context);
    imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    ImageDownloader.getInstance().download(gallery.get(position), ImageFormat.CONTENT_316, imageView);

        ((ViewPager) collection).addView(imageView, 0);

        return imageView;
}
4

4 に答える 4

1

ImageViewsを内部に持つViewPagerを使用します。

android:scaleTypexmlの属性を使用して、画像をどのようにストレッチするか(またはストレッチしないか)をImageViewに指定できます。ImageViewsで使用していたコードの一部を共有し、それらをどのように表示するかについてもう少し情報を提供していただければ、適切に設定できるようにお手伝いできます。

また、アプリのパフォーマンスを一流に保つために画像を処理するときに使用するベストプラクティスについては、ビットマップの効率的な表示を確認することをお勧めします。

于 2012-07-13T13:40:10.797 に答える
1

Adapter&を使用ListViewして画像スライドを表示します。

アダプタ アイテムのレイアウトでは、次のコードのように幅と高さの両方を使用ImageViewします。fill_parent

<ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitXY" />

パフォーマンスを向上させるために、電話を横向きモードで使用するようユーザーに提案することができます。したがって、追加のレイアウトをlayout-landフォルダーに保持します

于 2012-07-13T13:44:51.017 に答える
0

上記で使用したコードはほぼ正しいもので、ImageView.ScaleType.FIT_XY を ImageView.ScaleType.CENTER_CROP に変更しただけです。

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

    <android.support.v4.view.ViewPager
        android:id="@+id/galleryPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

    </android.support.v4.view.ViewPager>

</LinearLayout>

そして、画像をロードするためにアダプタで使用するコードは次のとおりです。

@Override
public Object instantiateItem(View collection, int position) {
    ImageView imageView = new ImageView(context);
    imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    imageView.setScaleType(**ImageView.ScaleType.CENTER_CROP**);
    ImageDownloader.getInstance().download(gallery.get(position), ImageFormat.CONTENT_316, imageView);

        ((ViewPager) collection).addView(imageView, 0);

        return imageView;
}
于 2012-07-17T13:35:56.243 に答える
0

1つの方法は

  • RSS フィードから画像の URL を取得する
  • それらをカスタムギャラリーにサムネイルとして表示します(スクロールビュー内にイメージビューを含む水平リニアレイアウトを介してセットアップできます)
  • これらのサムネイルを表示するには、画像の遅延読み込みを使用します
  • onClickListener をオーバーライドしてクリック イベントを取得する
  • この onClick で、現在の画像 URL を webview に読み込みます。
  • webviewには、ズーム、画像に沿って移動などの優れた機能があります..
于 2012-07-13T13:49:50.267 に答える