2010-07-18 4 views
38

은 내가 drawableXML 모양 드로어 블을 사용하는 방법은 무엇입니까?

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http//schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
    <solid android:color="#ffffffff" /> 
    <size android:width="60dp" 
     android:height="40dp" /> 
</shape> 

을 정의하지만 어떻게 layout 정의를 사용할 수 있나요?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       > 
    <ImageView 
     android:src="@drawable/ic_title" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     /> 
</LinearLayout> 

여전히 검은 색 배경 만 보입니다.

편집 : 그것은 내가 drawablexmlns 선언 한 :을 놓친 밝혀졌다

. 이제이 예제는 진저 브레드 장치 : 작동

나는 테두리 및 배경 정의하려면이 XML 코드를 사용하여 당김에
+0

당신이 정의한 드로어 블의 이름은'ic_title'입니까? 또한'LinearLayout'에'android : background'를 설정할 수 있습니다. –

+0

예, ic_title은 위에서 정의한 드로어 블입니다. 안드로이드 : 배경을 설정하고 싶지 않습니다. 원하는 효과가 아닙니다. 더 많은 ImageView를 LinearLayout에 넣을 수 있습니다. –

답변

14

나는 비슷한 문제가 있었다 발견을 당신이 크기 정의를 제거하면 그, 어떤 이유로 작동합니다.

제거 : 모양에서

<size 
    android:width="60dp" 
    android:height="40dp" /> 

.

이 기능이 작동하는지 알려주세요.

+0

그러나 크기 정의가없는 모양은 ImageView의 배경을 채우는 것과 같습니다. –

+0

참. 그런 다음 당신이 필요로하는 크기로 자신의 크기를 설정하는 이미지 뷰를 보유하는 컨테이너가 필요하다고 가정합니다. 즉, 내 예제가하는 것입니다. 즉, 크기가있는 상대적 레이아웃을 선언 한 다음 내 imageView를 그 내부에 배치합니다. . – sonnyd

+7

하하! 나는 당신의 문제를 발견했다 : D 나는 이것에 대한 나의 첫 번째 명성을 바란다.) 당신은 모양 정의에 오타가있다. http : "http // schemas.android.com/apk/res/android"다음에 누락 된 ":"을 찾아보십시오. – sonnyd

20

:

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="4dp" android:color="#D8FDFB" /> 
    <padding android:left="7dp" android:top="7dp" 
    android:right="7dp" android:bottom="7dp" /> 
    <corners android:radius="4dp" /> 
    <solid android:color="#f0600000"/> 
</shape> 
관련 문제