1

一度に1つの画像のみが表示されるようにギャラリービューを設定する方法はありますか?画像のサムネイル付きのギャラリービューを作成しました。ユーザーが画像をクリックすると、実際に選択した画像を新しいギャラリービューに表示する新しいアクティビティを開始したいと思います。これで、ユーザーが指をスワイプすると、次の画像を見ることができます。これを達成する方法はありますか?

4

3 に答える 3

0

私は同じ問題を抱えていて、うまくいく小さなハックをしました。私の場合、画像は静的だったので、一括名前変更を使用して画像に0から100の番号を付けました。対応するサムネイルでも同じことを行いました。1つはグリッドビューで2つのアクティビティを作成しました。 (ギャラリービューを使用できます)サムとギャラリービューを保持するためにグリッドビューのonclicklistenerを設定して、クリックされたサムのIDを取得し、それをギャラリービューをインテントエクストラとしてアクティビティに渡します。 idを入力し、指定されたidの画像にジャンプします。これを確認してください

答えとこのチュートリアル

于 2012-04-22T04:37:42.247 に答える
0

getView (int position、View convertView、ViewGroup parent)メソッド で、画像ビューを使用してギャラリービューに「カスタムアダプタ」を使用し、カスタムアダプタの画像ビューの「LayoutParams」に「match_parent」または「fill_parent」を使用できます 。

public View getView(int position, View convertView, ViewGroup parent) {

    imageView.setLayoutParams(...);


    return imageView;
}   

参照
developer.androiddeveloper.androiddeveloper.android
_

于 2012-04-22T03:20:37.180 に答える
0

Webで検索しているときに、別の解決策を見つけました。より簡単な解決策は、Galleryクラスをサブクラス化し、onFlingを常にfalseを返すように設定することです。ソリューションへの参照は次のとおりです。

Androidギャラリーでのフリングをフリングごとに1つのアイテムに制限するにはどうすればよいですか?

上記のリンクにリストされているユーザー「SomeoneSomewhere」と「vmihalca」からの入力に基づく私の組み合わせた実装は次のとおりです。

public class SlowGallery extends Gallery {

    public SlowGallery(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    public SlowGallery(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public SlowGallery(Context context) {
        super(context);
    }

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
         return false;
    }

}
于 2012-04-29T07:04:36.253 に答える