2012-09-23 5 views
0

다른 컨트롤의 구성을 제어하려고합니다. 나는 여러 가지 방법을 시도했지만 아무도 작동하지 않는 것 같아요 ... 왜 내가 그걸 필요로하는지 묻습니다.Android 사용자 정의보기 onDraw

  1. 나는 그림자와 그라데이션 전경의 다른 색상으로 텍스트 뷰를 만드는 불가능에 직면 한 Becaused
  2. 내가 볼륨 텍스트를 만들고 싶어하고이 사용자 정의에 의해 제시 될 것은

    을 제어
    public class MainMenuItem extends View { 
        private MainMenuItemHelper firstLayerItem; 
        private MainMenuItemHelper secondLayerItem; 
    
        ... 
        @Override 
        protected void onDraw(Canvas canvas) { 
         super.onDraw(canvas); 
         secondLayerItem.draw(canvas); 
         firstLayerItem.draw(canvas); 
        } 
    } 
    
    
    public class MainMenuItemHelper extends TextView { 
        private List<DrawCommand> commands; 
    
        ... 
        @Override 
        protected void onDraw(Canvas canvas) { 
         for (DrawCommand command : commands) { 
          command.draw(canvas, getPaint()); 
          super.onDraw(canvas); 
         } 
        } 
    } 
    
+1

루프에서'super.onDraw()'를하고 싶습니까? – WarrenFaith

+0

MainMenuHelper 클래스를 독립 실행 형 모드로 테스트했는데 작동합니다. – OneMoreVladimir

+1

'작동합니다. '라는 의미가 아닙니다. – WarrenFaith

답변

1

다른 컨트롤 조성물되는 제어

보기에 다른보기를 포함 할 수 없으므로 RelativeLayout 또는 LinearLayout과 같은 레이아웃이 필요합니다. 대신 ViewGroup이 필요합니다.

모르겠어요 어디서 당신이 그것을 배치 할 있지만 가장 쉬운 방법은 단순히 컨트롤을 포함하는 XML 파일을 만들고 당신이 일반적으로 것처럼 스타일을하는 방법에 대해 설명합니다.

는 섀도 색상은 텍스트의 그림자를 가지고 android:shadowColor 정의 할 수 있습니다. 그라데이션이 매우 까다로운 일이 될 수있는 텍스트 자체를 만들기

.

+0

감사합니다 !!!! 고맙습니다!!! 고맙습니다!!!! 나는 하고 한 번 더 감사합니다 것을 해결하기 위해 노력 약 5 시간을 죽인 !!!! 고맙습니다!!! 고맙습니다!!!! – OneMoreVladimir

관련 문제