2012-01-18 5 views
1

Я хочу создать закругленную прямоугольную рамку для GridView на Android, как на рисунке ниже:Как создать прямоугольную прямоугольную рамку для GridView на Android?

GridView

Как я могу добиться этого? Заранее спасибо.

+0

просто создайте форму в xml и установите форму в фоновом режиме. – jeet

ответ

6

создать рисуем форму, как следовать и установить в качестве фона на ваш взгляд:

<?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

+0

ok Я сделал это, сделав альфа-значение в цвете 00. – ipman

1

Вы можете создать shape-drawable и установить его в качестве фона для GridView либо атрибута XML android:background или в Java коде через setBackgroundResource()

4

Идея состоит в том, чтобы сначала создать форму, которая имеет закругленные края и цвета, которые вам нравятся. Вот пример:

<?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.

0

использование этого

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

или

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

Вы также можете использовать это, чтобы создать форму ..

<?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> 
0
<?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. 
1

вы могли бы достичь его в 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/Drawable .xml папки

ШАГ 3 : Теперь рассмотрите эту форму в коде как GridView.setBackgroundResource (R.drawble..xml).

Смежные вопросы