我想要一个这样的网格项:
我尝试使用以下代码制作网格视图项目:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/gridImage"
android:layout_width="233dp"
android:layout_height="197dp"
android:background="@drawable/breakfast_background"
android:scaleType="center"
android:src="@drawable/frame" >
</ImageView>
<TextView
android:id="@+id/alertCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="95dip"
android:background="@drawable/ic_launcher"
android:paddingLeft="25dip"
android:paddingTop="18dip"
android:text="10"
android:textColor="@color/black"
android:textSize="30sp"
android:textStyle="bold"
android:visibility="gone"
/>
<TextView
android:id="@+id/tv_TableName"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:textColor="#ffffff"
android:layout_marginTop="155dp"
android:singleLine="true"
android:textSize="10pt"
android:gravity="center"
android:text="TextView" />
</RelativeLayout>
但图像背景显示不正确。
请建议。
答案 0 :(得分:2)
我猜你应该使用2个ImageView而不是一个:
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="233dp"
android:layout_height="197dp"
android:scaleType="fitXY"
android:src="@drawable/shaped_breakfast_background" />
<ImageView
android:id="@+id/frameImage"
android:layout_width="233dp"
android:layout_height="197dp"
android:scaleType="fitXY"
android:src="@drawable/frame" />
在你的drawable /文件夹中使用shaped_breakfast_background.xml,它是一个形状(查找android res形状),它将获取你的图像并使角落与你的帧相同的半径。 我承认我从未尝试过。 一个缺点是:在xml资源中使用位图并不能让你访问所有有趣的scaleTypes ImageView句柄(centerInside,centerCrop等),这可能是个问题
但是,如果使用形状不能解决您的问题,您当然可以使用与您的框架形状相同的breakfast_background,这将为您节省大量时间。然后你可以使用“1 ImageView”解决方案。