2016-04-15 5 views
2

Ich möchte den Schieberegler für die App-Bilder von Airbnb replizieren, bei dem Sie ein Bild oben in einer horizontal wischenden Ansicht haben, das beim Wischen automatisch zum nächsten Bild wechselt. Ich habe eine horizontalscrollview erstellt, aber es hat nicht die richtige Funktionalität. Es blättert nicht von Bild zu Bild, beim Wischen scrollt es das Bild entlang und schließlich zum nächsten Bild. Ich habe viel gegoogelt und keine nicht veraltete Lösung gesehen.Android - Erstellen eines Airbnb-ähnlichen horizontalen Bildschiebers

Irgendwelche Ideen?

EDIT - einige meiner Code pro Anfrage und fügte hinzu:

Grundsätzlich auf hohem Niveau ich in imageURLs aus meiner AWS-Datenbank ziehen werde (in einer anderen Klasse nicht weiter unten) und dann diese URLs zu laden versuchen, in eine Horizontalscrollansicht mit Picasso.

//generic instructions to allow insertion of pictures into a horizontalimageslider 

public View insertPhoto(String path){ 
     LinearLayout layout = new LinearLayout(getActivity()); 
     layout.setGravity(Gravity.CENTER); 
     ImageView imageView = new ImageView(getActivity()); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
     Picasso.with(getActivity()).load(path).into(imageView); //tried this but got errors when running > resize(layout.getWidth(), layout.getHeight()), also tried .fit() after .load image wouldn't load 
     layout.addView(imageView); 
     return layout; 
      } 

private class GetApartmentTask extends AsyncTask<ApiConnector,Long,Apartment > 
//after a doInBackground 

@Override 
     protected void onPostExecute(Apartment apartment) { 
//to get image URL from database to then use with Picasso to download the image 

      mImageURLArraylist = mApartment.getApartmentImageArrayList(); 
      for (int z = 0 ;z<mImageURLArraylist.size(); z++) { 
       mLinearLayout.addView(insertPhoto("http:" + mImageURLArraylist.get(z))); 
} 
}} 

in onCreateView Verfahren (neben anderen Dingen offensichtlich)

myXML (relevanter Teil)

<HorizontalScrollView 
     android:id="@+id/horizontal_scroll_view" 
     android:layout_width="match_parent" 
     android:layout_height="500dp" 
     android:fillViewport="true"> 

     <LinearLayout 
      android:id="@+id/details_page_apartment_picture" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:adjustViewBounds="true" 
      android:scaleType="fitCenter" 
      android:orientation="horizontal"> 

     </LinearLayout> 
    </HorizontalScrollView> 
+0

zeigen Sie die Bilder von was hast du schon gemacht. Vielleicht kann ich das für dich tun. – ant2009

+0

hinzugefügt, aber für meinen speziellen Fall ist es ein wenig verwickelt durch ziehen aus einer Klasse, die eine jsonrequest zu einer Datenbank usw. – Noobprogrammer

Antwort

0

Nach vielen Stunden der Frustration und etwas Hilfe über die Ziellinie bekommt, ist die Antwort, einen Teil des Bildschirms auf diese Weise zu klauen ist einen viewpager zu verwenden.

Einige großen Referenzen: swipe some part of the screen http://developer.android.com/training/animation/screen-slide.html What is the role of " isViewFromObject (View view, Object object)" in FragmentStatePagerAdapter?

mein Arbeitscode in einer anderen Frage zur Verfügung gestellt ich gepostet, dass habe mich über die Ziellinie :) - Android ViewPager Won't Show Second Page?

0

Ich weiß nicht, die Besonderheiten der airbnb App-Image-Slider, aber es klingt, als könnte man flexslider benutzen. Es ist im Grunde ein JQuery-Toolkit. Ich habe es zuvor in einer Website verwendet und es scheint die Funktionalität zu haben, nach der Sie suchen.

https://www.woothemes.com/flexslider/

+0

tut leider jquery funktioniert nicht in android dev :(Danke für die Zeit nehmen, aber zu antworten – Noobprogrammer

Verwandte Themen