如何在Android上为GridView创建一个圆角矩形边框?

问题描述:

我想在Android上创建GridView的圆角矩形边框像下面的图片:如何在Android上为GridView创建一个圆角矩形边框?

GridView

我怎样才能做到这一点?提前致谢。

+0

只需在xml中创建一个形状并在布局的背景中设置形状。 – jeet 2012-01-18 12:34:01

创建绘制形状跟随并设置为背景,以您的观点:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 

    <solid android:color="#C0C0C0"></solid> 
    <stroke android:width="1dp" android:color="#000000"></stroke> 
    <corners android:radius="5dp"></corners> 

</shape> 

PS这只会创建一个圆角矩形

+0

谢谢。有没有办法做到这一点形状透明? – ipman 2012-01-18 12:42:20

+0

好的我通过在颜色00中设置alpha值来做到这一点。 – ipman 2012-01-18 12:46:14

您可以创建shape-drawable并将其设置为背景为你的GridView或者通过XML android:background属性或在Java代码中通过setBackgroundResource()

这个想法是首先创建一个可绘制的形状,它具有您喜欢的圆边和颜色。这里有一个例子:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<gradient 
    android:startColor="#353535" 
    android:endColor="#222222" 
    android:angle="90" /> 

<stroke android:width="1dp" android:color="#404040"/> 

<corners android:radius="10dp" /> 

<padding 
    android:left="10dp" 
    android:top="10dp" 
    android:right="10dp" 
    android:bottom="10dp" /> 

</shape> 

然后设置作为您GridView使用android:background背景。

使用本

Rect rHole = new Rect(pTopLeft.x, pTopLeft.y, pBotRight.x, pBotRight.y); 

canvas.drawRect(30,0,35,50,Reference_to_Paint_Object); 

您还可以使用它来创建形状..

<?xml version="1.0" encoding="UTF-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
     <gradient android:startColor="#CBCBCA" android:endColor="#FFFFFF" 
      android:angle="270" /> 
     <corners android:bottomRightRadius="7dp" 
      android:bottomLeftRadius="7dp" android:topLeftRadius="7dp" 
      android:topRightRadius="7dp" /> 
    </shape> 

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <gradient 
     android:endColor="#ffffff" 
     android:startColor="#ffffff" /> 

    <corners android:radius="8dp" /> 

</shape> 

SUe it In background of parent layout. it will help you. 

,你可以在3个简单步骤实现它:

步骤1: 我创建了一个形状,矩形如下:

<stroke android:width="4dp" android:color="#FF00FF00" /> 

<solid android:color="#ffffff" /> 
<padding android:left="7dp" android:top="7dp" 
     android:right="7dp" android:bottom="7dp" /> 
<corners android:radius="4dp" /> 

步骤2: 存储此XML在RES /绘制对象的文件夹的.xml

步骤3 : 现在在您的代码中将此形状作为GridView.setBackgroundResource(R.drawble..xml)引用。