HroizontalScrollView mit Page Effekt

  • Antworten:3
  • Bentwortet
mybecks
  • Forum-Beiträge: 27

28.10.2010, 15:41:45 via Website

Hallo zusammen,

Ich habe eine GridView in welchem eine beliebige Anzahl Bilder dargestellt wird, wenn ich ein Bild selektiere öffne ich eine neue Activity welche mir das Bild in groß anzeigt (max. Größe des Displays). Nun möchte ich das ganze erweitern. Habe nun eine HorizontalScrollBar eingebaut, welche als Child eine ImageView besitzt. Nun ist es mein Vorhaben zwischen den Bilder des Grids in Groß zu blättern (vor & zurück ab den selektierten Image des Grids).

Mein Ansatz bisher ist, dass ich her gehe und sobald die onTouch() Methode ausgeführt wird, prüfe welcher MotionEvent.ACTION_UP& ACTION_DOWN getriggert wird und x > currentPosition oder x < currentPosition und dann das nächste Bild in meine ImageView lade. Aber genau das ist auch der Punkt wo ich nicht mehr weiter weiß, bzw. der auch nicht funktioniert. Was auch seltsam ist, wenn ich als Layout Container ein ImageView habe zeigt er mir das Bild in der max Größe an (hochskalliert auf max. des Displays), sobald ich die HSV drumherum habe, nur auf die "normale" Größe des Bildes.

Layout:
1<?xml version="1.0" encoding="utf-8"?>
2<HorizontalScrollView
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 android:id="@+id/hsv"
5 android:layout_width="fill_parent"
6 android:layout_height="fill_parent">
7 <ImageView
8 android:layout_width="fill_parent"
9 android:layout_height="fill_parent"
10 android:id="@+id/imageBig">
11</ImageView>
12</HorizontalScrollView>

ImageBig.java
1public class ImageBig extends Activity{
2
3 private static final String TAG = "ImageBig";
4 private ImageView image;
5 private HorizontalScrollView hsv;
6
7 @Override
8 protected void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10// setContentView(R.layout.image_layout);
11 setContentView(R.layout.horizontalscroll_layout);
12 setTitle(getIntent().getExtras().getString("title"));
13 final MagazineList list = MagazineHandler.getMagazines();
14 final int pos = getIntent().getExtras().getInt("pos");
15
16 image = (ImageView) findViewById(R.id.imageBig);
17
18 image.setImageDrawable(HelperMethods.loadImageFromWeb(list.getMagazines().get(pos).getImageBig()));
19
20 hsv = (HorizontalScrollView) findViewById(R.id.hsv);
21 hsv.setOnTouchListener(new OnTouchListener() {
22
23 @Override
24 public boolean onTouch(View v, MotionEvent event) {
25 if(event.getAction() == MotionEvent.ACTION_UP)
26 {
27 Log.i(TAG, event.getAction()+"");
28 image.setImageDrawable(HelperMethods.loadImageFromWeb(list.getMagazines().get(pos+1).getImageBig()));
29 }
30
31 return false;
32
33 }
34 });
35
36 image.setOnClickListener(new View.OnClickListener(){
37
38 @Override
39 public void onClick(View v) {
40 Intent intent = new Intent(ImageBig.this, MagazineDetails.class);
41 intent.putExtra("pos", pos);
42 intent.putExtra("title", getIntent().getExtras().getString("title"));
43 startActivity(intent);
44 }
45 });
46 }
47}

Viele Grüße & Dank,
mybecks

— geändert am 28.10.2010, 16:27:59

Antworten
L3322
  • Forum-Beiträge: 467

28.10.2010, 15:52:06 via App

Stichwort: viewflipper !
denk mal das du sowas meinst

"Hard work beats talent, when talent fails to work hard"

Antworten
mybecks
  • Forum-Beiträge: 27

28.10.2010, 16:28:46 via Website

oh dann war ich da ja die ganze Zeit auf der falschen fährte :-/

Vielen Dank für dein Tipp,
hab schon gute Beispiele gefunden.

Gruß,
mybecks

Antworten
L3322
  • Forum-Beiträge: 467

28.10.2010, 17:10:42 via App

gerne gerne! für sowas ist ein Forum da!

"Hard work beats talent, when talent fails to work hard"

Antworten
L3322
  • Forum-Beiträge: 467

28.10.2010, 17:10:58 via App

gerne gerne! für sowas ist ein Forum da!

"Hard work beats talent, when talent fails to work hard"

Antworten
L3322
  • Forum-Beiträge: 467

28.10.2010, 17:10:58 via App

gerne gerne! für sowas ist ein Forum da!

"Hard work beats talent, when talent fails to work hard"

Antworten