android imageview에 테두리 넣기



shape : 도형을 그리라는 의미, 

solid       : 단색으로 채워넣습니다.

stroke     : 테두리를 그려넣습니다. dashWidth와 dashGap은 점선을 그릴 때 사용합니다.

corners  : 가장자리를 둥글게 처리합니다.

padding : 패딩


자세한 내용은 여기를 참조 http://www.androidpub.com/2113

API 문서 http://developer.android.com/guide/topics/resources/drawable-resource.html



 /drawable/photo_frame.xml 에서


<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

      

    <stroke android:width="2px" android:color="#edecec" />

    <padding android:left="2px" android:top="2px"

            android:right="2px" android:bottom="2px" />      


</shape>



[사용 예]

background 속성에 위에서 만든 xml을 지정하고

src 속성에 이미지를 지정한다.

단,  src에 있는 이미지가 화면을 꽉 채운다면, 테두리는 표시되지 않는다.


            <ImageView

                android:id="@+id/iv_photo_1"

                android:layout_width="150dp"

                android:layout_height="300dp"

android:layout_gravity="center_horizontal"

                android:background="@drawable/photo_frame"

                android:src="@drawable/contents"

/>


[사용 예2, 코드에서]

ImageView iv = (ImageView)findViewById(R.id.iv_photo_1);

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.contents);

iv.setBackgroundResource(R.drawable.photo_frame);

iv.setImageBitmap(bitmap);



+ Recent posts