我有一个包含多个线性布局的网格布局。每个线性布局都包含图像视图和文本视图。目前,所有图像及其描述都出现在屏幕上,但我想创建一个滑动功能,当用户滑动屏幕时,该功能将显示另一组图像。我想创建像这样的东西
这是我的xml文件
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="4">
<LinearLayout
android:onClick="facility_click"
android:id="@+id/layout_facility1"
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/image1"
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/fridge1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Fridge"
android:textAlignment="center"/>
</LinearLayout>
<LinearLayout
android:onClick="facility_click"
android:id="@+id/layout_facility2"
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/image2"
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/alarmclock" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Alarm clock"
android:textAlignment="center"/>
</LinearLayout>
<LinearLayout
android:onClick="facility_click"
android:id="@+id/layout_facility3"
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/image3"
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/dishwasher1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dish washer"
android:textAlignment="center"/>
</LinearLayout>
<LinearLayout
android:onClick="facility_click"
android:id="@+id/layout_facility4"
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/image4"
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/fridge1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Fridge"
android:textAlignment="center"/>
</LinearLayout>
<LinearLayout
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/fridge1"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Fridge"
android:textAlignment="center"/>
</LinearLayout>
<LinearLayout
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/alarmclock" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Alarm clock"
android:textAlignment="center"/>
</LinearLayout>
<LinearLayout
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/dishwasher1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dish washer"
android:textAlignment="center"/>
</LinearLayout>
<LinearLayout
android:layout_columnWeight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="50dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:src="@drawable/fridge1" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Fridge"
android:textAlignment="center"/>
</LinearLayout>
</GridLayout>
答案 0 :(得分:1)
我猜你需要ViewPager:
https://developer.android.com/training/animation/screen-slide.html
每个&#34;网格&#34;将是单独的片段。
编辑:
同样看到这一点:它似乎非常类似于你想得到的东西: Android ViewPager with bottom dots
答案 1 :(得分:1)
我建议你使用RecycleView适配器和cardView ......与其他所有方法相比,这很容易。只是不要忘记在build.gradle中添加RecycleView和cardView依赖项