Мне нужен был вид, как на рисунке ниже. Я избегал использования GridView, потому что мне не удалось прокрутить до нижней части моего приложения, так как GridView занимает почти весь экран. И прокрутка будет прокручивать gridview, а не приложение в целом. Поэтому я создал следующий макет, используя LinearLayout, который содержит ImageView и TextView для элементов. Четыре LinearLayout сами содержатся в LinearLayout.FlowLayout in android
Теперь проблема заключается в том, как я делаю макет, который автоматически приспосабливается к немного большего размера, как на рисунке ниже.
Я использовал различные 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>
Любой пример исходного кода или любого решения были бы оценены. Заранее спасибо.
Я не могу прокручивать эту библиотеку. Более того, если высота немного большая, все элементы в новой строке перекрываются с элементами в первой строке. – Redone
Вы также не можете прокручивать с помощью LinearLayout. Вы должны обернуть его внутри ScrollView. –