2016-07-30 17 views
0

Ich versuche, zwei Ansichten innerhalb einer horizontalen Bildlaufleiste anzuzeigen, wie im Bild unten gezeigt. Ich bin die Möglichkeiten fragen, um dies zu erreichen, weil die Ausgabe, die ich erreicht habe, weit entfernt von der Anforderung ist, wie wir auf dem Bildschirm sehen können, greift unter: -Sie müssen zwei Elemente gleichzeitig in einer horizontalen Bildlaufansicht anzeigen

Required Output

Hier ist ein Teil meines Layouts ist, die beschreibt, die Ansicht, die ich umgesetzt haben: -

<HorizontalScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <LinearLayout 
      android:id="@+id/imageGallery" 
      android:layout_gravity="center" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:weightSum="3"/> 

    </HorizontalScrollView> 

zu der obigen Sicht erstellt i dann eine lineare Layout mit vertikaler Ausrichtung und hinzugefügt, um mich eine Bildansicht, und 3 Textansicht wie in dem folgende Codefragment gezeigt: -

 @TargetApi(Build.VERSION_CODES.JELLY_BEAN) 
    private View getVerticalLinearLayout(Integer image){ 
     LinearLayout verticalLayout = new LinearLayout(getContext()); 
     verticalLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT,2.0f)); 
     verticalLayout.setOrientation(LinearLayout.VERTICAL); 
     verticalLayout.setBackground(getResources().getDrawable(R.drawable.layout_border)); 
     verticalLayout.addView(scaleImage((ImageView) getImageView(image))); 
     verticalLayout.addView(getTextView("Book Name",14,"#444444")); 
     verticalLayout.addView(getTextView("Author Name",12,"#444444")); 
     verticalLayout.addView(getTextView("Lender Name",12,"444444")); 
     return verticalLayout; 

    } 

jedoch, was ich haben es geschafft, zu erreichen, kann unter enter image description here

+0

Bitte geben Sie Ihr Problem an und formatieren Sie Ihre Frage neu. – Shaishav

+0

Möchten Sie, dass die Breite jedes Elements halb so groß ist wie die der Eltern und frei scrollen? Oder möchten Sie, dass das Scrollen wie das Tauschen von Seiten ist, wobei jede Seite 2 Elemente auf jeder Seite enthält? – auval

+0

Der Artikel sollte in die Hälfte der Elternbreite geteilt werden. – saunlogan

Antwort

1

im Bild zu sehen sein Sie Ihr Buch Ansichten als einzelne Layout-Datei gestalten können. Sie können sie dann mit dem LayoutInflater instanziieren und mit Ihren Daten füllen und sie dann schließlich Ihrem Layout imageGallery hinzufügen.

Um genau zwei Ansichten gleichzeitig auf dem Bildschirm erscheinen zu lassen, müssen Sie die Bildschirmbreite kennen. Dies ist über DisplayMetrics möglich oder Sie rufen getWidth() auf einer Ansicht auf, die den Bildschirm vollständig horizontal abdeckt. Sobald Sie diese Breite erhalten haben, müssen die bookView Layouts, die Sie zu Ihrer horizontalen Bildlaufansicht hinzufügen, auf screenWidth/2 eingestellt werden.

+0

Ich konnte bereits die Galerie-Ansicht füllen, es ist nur, dass ich nur zwei Elemente wie in der ersten Bildschirmanzeige anzeigen möchte, d. H. Zwei Bücher gleichermaßen auf dem Bildschirm anzeigen – saunlogan

+0

Und es muss auch horizontal scrollbar sein? – Shaishav

+0

Yup .. horizontal scrollbar auch !! – saunlogan

Verwandte Themen