2015-08-19 2 views
0

Мне нужен был вид, как на рисунке ниже. Я избегал использования GridView, потому что мне не удалось прокрутить до нижней части моего приложения, так как GridView занимает почти весь экран. И прокрутка будет прокручивать gridview, а не приложение в целом. Поэтому я создал следующий макет, используя LinearLayout, который содержит ImageView и TextView для элементов. Четыре LinearLayout сами содержатся в LinearLayout.FlowLayout in android

enter image description here

Теперь проблема заключается в том, как я делаю макет, который автоматически приспосабливается к немного большего размера, как на рисунке ниже.

enter image description here

Я использовал различные FlowLayout библиотеки как library1 и library2, но оба они didnot работу для меня, потому что я не был в состоянии выделить и мой LinearLayout был сплющенные тоже.

Ниже приведен мой код для линейной компоновки.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context="com.test.FirstHomeActivity"> 




    <LinearLayout 
     android:id="@+id/llFeatured1" 
     android:clickable="true" 
     android:onClick="featuredClick1" 
     android:background="@drawable/card_layout" 
     android:layout_width="wrap_content" android:orientation="vertical" 
     android:layout_height="290dp" 
     android:minHeight="290dp"> 
     <ImageView 
      android:id="@+id/featuredImg1" 
      android:layout_margin="2dp" 
      android:layout_width="166dp" 
      android:layout_height="264dp" 
      /> 

     <TextView 
      android:id="@+id/item2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="5dp" 
      android:padding="2dp" 
      android:textColor="#33CC33" /> 
     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" 
      android:layout_marginLeft="10dp"/> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/llFeatured2" 
     android:clickable="true" 
     android:onClick="featuredClick2" 
     android:background="@drawable/card_layout" 
     android:layout_margin="5dp" 
     android:layout_width="wrap_content" android:orientation="vertical" 
     android:layout_height="290dp" 
     android:minHeight="290dp"> 
     <ImageView 
      android:id="@+id/featuredImg2" 
      android:layout_margin="2dp" 
      android:layout_width="166dp" 
      android:layout_height="264dp" 
      /> 

     <TextView 
      android:id="@+id/item" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="5dp" 
      android:padding="2dp" 
      android:textColor="#33CC33" /> 
     <TextView 
      android:id="@+id/textView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" 
      android:layout_marginLeft="10dp"/> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/llFeatured3" 
     android:clickable="true" 
     android:onClick="featuredClick3" 
     android:background="@drawable/card_layout" 
     android:layout_margin="5dp" 
     android:layout_width="wrap_content" android:orientation="vertical" 
     android:layout_height="290dp" 
     android:minHeight="290dp"> 
     <ImageView 
      android:id="@+id/featuredImg3" 
      android:layout_margin="2dp" 
      android:layout_width="166dp" 
      android:layout_height="264dp" 
      /> 

     <TextView 
      android:id="@+id/item3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="5dp" 
      android:padding="2dp" 
      android:textColor="#33CC33" /> 
     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" 
      android:layout_marginLeft="10dp"/> 

    </LinearLayout> 

Любой пример исходного кода или любого решения были бы оценены. Заранее спасибо.

ответ

0

Попробуйте flow layout.

Не нужно заново изобретать колесо, если кто-то уже сделал это за вас. :)

+0

Я не могу прокручивать эту библиотеку. Более того, если высота немного большая, все элементы в новой строке перекрываются с элементами в первой строке. – Redone

+0

Вы также не можете прокручивать с помощью LinearLayout. Вы должны обернуть его внутри ScrollView. –

Смежные вопросы