2011-02-27 2 views
1

, 나는 다음과 같은 구성에서 두 개의 직사각형 반투명 전망이 : 그것은 더 좋은 보이게보기에 둥근 모서리 추가? 내 레이아웃에서

---------------------| 
|  | B  | 
|  -------------| 
| A |   
|  | 
|  | 
|  | 
|  | 
|  | 
-------- 

을, 나는의 오른쪽 하단 모서리를 둥글게하고 모서리에 곡선을 추가 할 어디에서이 같은 B에 충족 :

---------------------| 
|     | 
|  ------------| 
|  /  
|  | 
|  | 
|  | 
|  | 
|  | 
|  | 
|------/ 

사람이 내가 것이 바람직하다 (이 나는 색상을 변경하고 모서리를보다 쉽게 ​​크기 이후 의미로) 비트 맵을 사용하지 않고,이 작업을 수행 할 수있는 방법을 제안 할 수 있습니까?

나는 직사각형 배경 당김과 클리핑을 사용하여 단독으로 반올림하는 방법을 알고,하지만 난 A와 B

지금까지 내가 당신을 알고

답변

1

A와 B는 상대 레이아웃에있는 경우, 당신은 작은 C보기 권한을 추가 할 수 있습니다 (보고 here을)이 된 onDraw() 메소드를 자신의 뷰를 작성하고 무시하는 것 아래, 왼쪽으로 B로 정렬하고 onDraw()에 반올림을 그립니다.

편집 : API Demos -> Graphics -> Xfermodes에서

당신이 그것을 밖으로 원 인하와 함께 뭔가를 그릴 수있는 방법의 예입니다 (하지만 난 그와 경험이 없음).

+0

고마워요,하지만 제가 가지고있는 문제는 필요한 모양을 그리는 방법을 모르는 것입니다. 즉 가운데에서 자른 원이있는 사각형입니다. – rbcc

+0

@rebeccamaher 편집보기 – bigstones

0

참여 코너를 추가 할 수있는 좋은 방법을 생각할 수 없다 보기의 속성에서만 모서리를 만들 수 없으므로 두 가지 옵션 만 사용할 수 있습니다.

먼저 사용자 정의 이미지를 사용하십시오 (9 패치는 모든 것을 단일 배경으로 만드는 데 유용 할 수 있습니다). 그러나 다시 한번 색상을 쉽게 변경할 수 없습니다.

다른 하나는

+0

감사합니다. 어떻게하면 onDraw로 원하는 도형을 그릴 수 있습니까? – rbcc

+0

다음은 내가 할 수있는 일이라고 생각합니다. A 및 B보기의 배경색을 설정합니다. 그러면 C를 밑바닥에있는 뷰 (B 아래, A에서 오른쪽)로 보자. onDraw()를 사용하면 제공된 Canvas 메서드를 호출 할 수 있습니다. 가장 간단한 방법은 Canvas.drawRect()를 사용하여 왼쪽 상단 구석에 전체 rect를 작성한 다음 rect 위에 Canvas.drawOval()을 사용하여 배경색이있는 원을 추가하는 것입니다. – XGouchet