以下是一个GridLayout,其中包含具有零边距的元素:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="400dp"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal">
<ImageView
android:layout_row="0"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="0"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
</GridLayout>
以下是GridLayout包含带有负边距的元素:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="400dp"
android:columnCount="2"
android:rowCount="2"
android:orientation="horizontal">
<ImageView
android:layout_row="0"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="0"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="0"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
<ImageView
android:layout_row="1"
android:layout_column="1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_margin="-40dp"
android:src="@drawable/android"
android:scaleType="centerCrop"/>
</GridLayout>
是否有防止重叠的方法?换句话说,每个网格单元都显示一个放大和裁剪的元素。
在此示例中,我使用ImageView。元素可以是任何其他类型,例如SurfaceView。
答案 0 :(得分:0)
将每个ImageView嵌入LinearLayout中,然后将缩放比例添加到ImageView中以进行缩放。 请尝试以下代码
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="400dp"
android:columnCount="2"
android:orientation="horizontal"
android:rowCount="2">
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="0"
android:layout_column="0">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="@drawable/android" />
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="0"
android:layout_column="1">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="@drawable/android" />
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="1"
android:layout_column="0">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="@drawable/android" />
</LinearLayout>
<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_row="1"
android:layout_column="1">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:scaleX="1.2"
android:scaleY="1.2"
android:src="@drawable/android" />
</LinearLayout>
</GridLayout>
希望这会有所帮助!